diff --git a/Funcky.Analyzers/Funcky.Analyzers.Package/Funcky.Analyzers.Package.csproj b/Funcky.Analyzers/Funcky.Analyzers.Package/Funcky.Analyzers.Package.csproj index 122dcc27..3fd67d76 100644 --- a/Funcky.Analyzers/Funcky.Analyzers.Package/Funcky.Analyzers.Package.csproj +++ b/Funcky.Analyzers/Funcky.Analyzers.Package/Funcky.Analyzers.Package.csproj @@ -12,7 +12,7 @@ Funcky.Analyzers - 1.0.0 + 1.1.0 Analyzers to guide to the correct usage of Funcky. funcky, analyzers, roslyn true diff --git a/Funcky.Analyzers/Funcky.Analyzers/AnalyzerReleases.Shipped.md b/Funcky.Analyzers/Funcky.Analyzers/AnalyzerReleases.Shipped.md index 60b59dd9..0ffb6171 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/AnalyzerReleases.Shipped.md +++ b/Funcky.Analyzers/Funcky.Analyzers/AnalyzerReleases.Shipped.md @@ -1,3 +1,16 @@ -; Shipped analyzer releases +; Shipped analyzer releases ; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md +## Release 1.0 +### New Rules +Rule ID | Category | Severity | Notes +--------|----------|----------|------- +λ1001 | Funcky | Warning | EnumerableRepeatOnceAnalyzer +λ1002 | Funcky | Warning | EnumerableRepeatNeverAnalyzer + +## Release 1.1 +### New Rules +Rule ID | Category | Severity | Notes +--------|----------|----------|------- +λ1003 | Funcky | Warning | UseWithArgumentNamesAnalyzer +λ1004 | Funcky | Warning | JoinToStringEmptyAnalyzer diff --git a/Funcky.Analyzers/Funcky.Analyzers/AnalyzerReleases.Unshipped.md b/Funcky.Analyzers/Funcky.Analyzers/AnalyzerReleases.Unshipped.md index ec22f37a..5ebfed31 100644 --- a/Funcky.Analyzers/Funcky.Analyzers/AnalyzerReleases.Unshipped.md +++ b/Funcky.Analyzers/Funcky.Analyzers/AnalyzerReleases.Unshipped.md @@ -2,10 +2,3 @@ ; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md ### New Rules - -Rule ID | Category | Severity | Notes ---------|----------|----------|------- -λ1001 | Funcky | Warning | EnumerableRepeatOnceAnalyzer -λ1002 | Funcky | Warning | EnumerableRepeatNeverAnalyzer -λ1003 | Funcky | Warning | UseWithArgumentNamesAnalyzer -λ1004 | Funcky | Warning | JoinToStringEmptyAnalyzer diff --git a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/AnalyzerReleases.Shipped.md b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/AnalyzerReleases.Shipped.md index 5ccc9f03..e733a179 100644 --- a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/AnalyzerReleases.Shipped.md +++ b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/AnalyzerReleases.Shipped.md @@ -1,2 +1,9 @@ -; Shipped analyzer releases +; Shipped analyzer releases ; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md + +## Release 2.7 +### New Rules +Rule ID | Category | Severity | Notes +--------|----------|----------|------- +λ0001 | Funcky | Error | TryGetValueAnalyzer +λ0002 | Funcky.Deprecation | Warning | OptionNoneMethodGroupAnalyzer diff --git a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/AnalyzerReleases.Unshipped.md b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/AnalyzerReleases.Unshipped.md index 225cd100..5ebfed31 100644 --- a/Funcky.Analyzers/Funcky.BuiltinAnalyzers/AnalyzerReleases.Unshipped.md +++ b/Funcky.Analyzers/Funcky.BuiltinAnalyzers/AnalyzerReleases.Unshipped.md @@ -2,8 +2,3 @@ ; https://github.com/dotnet/roslyn-analyzers/blob/main/src/Microsoft.CodeAnalysis.Analyzers/ReleaseTrackingAnalyzers.Help.md ### New Rules - -Rule ID | Category | Severity | Notes ---------|----------|----------|------- -λ0001 | Funcky | Error | TryGetValueAnalyzer -λ0002 | Funcky.Deprecation | Warning | OptionNoneMethodGroupAnalyzer diff --git a/Funcky.Test/Extensions/EnumerableExtensions/PartitionResultTest.cs b/Funcky.Test/Extensions/EnumerableExtensions/PartitionResultTest.cs index 44ebb4f4..6c38661b 100644 --- a/Funcky.Test/Extensions/EnumerableExtensions/PartitionResultTest.cs +++ b/Funcky.Test/Extensions/EnumerableExtensions/PartitionResultTest.cs @@ -5,9 +5,9 @@ public sealed class PartitionResultTest [Fact] public void ReturnsTwoEmptyEnumerablesWhenSourceIsEmpty() { - var (left, right) = Enumerable.Empty>().Partition(); - Assert.Empty(left); - Assert.Empty(right); + var (error, ok) = Enumerable.Empty>().Partition(); + Assert.Empty(error); + Assert.Empty(ok); } [Fact] @@ -17,7 +17,7 @@ public void PartitionsItemsIntoOkAndError() var exceptions = Sequence.Return(new Exception("foo"), new InvalidOperationException("bar")); var input = values.Select(Result.Ok).Interleave(exceptions.Select(Result.Error)); - var (ok, error) = input.Partition(); + var (error, ok) = input.Partition(); Assert.Equal(values, ok); Assert.Equal(exceptions, error); diff --git a/Funcky.Xunit/Funcky.Xunit.csproj b/Funcky.Xunit/Funcky.Xunit.csproj index e570b30a..d166edb8 100644 --- a/Funcky.Xunit/Funcky.Xunit.csproj +++ b/Funcky.Xunit/Funcky.Xunit.csproj @@ -5,7 +5,7 @@ enable Package to use Funcky with xUnit Functional Monad xUnit - 0.1.3 + 1.0.0 true snupkg Funcky @@ -22,6 +22,7 @@ + diff --git a/Funcky.Xunit/PublicAPI.Shipped.txt b/Funcky.Xunit/PublicAPI.Shipped.txt new file mode 100644 index 00000000..7f12637c --- /dev/null +++ b/Funcky.Xunit/PublicAPI.Shipped.txt @@ -0,0 +1,34 @@ +#nullable enable +Funcky.Extensions.ToTheoryDataExtension +Funcky.FunctionalAssert +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2, T3 Item3, T4 Item4, T5 Item5, T6 Item6, T7 Item7, T8 Item8, T9 Item9, T10 Item10)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2, T3 Item3, T4 Item4, T5 Item5, T6 Item6, T7 Item7, T8 Item8, T9 Item9)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2, T3 Item3, T4 Item4, T5 Item5, T6 Item6, T7 Item7, T8 Item8)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2, T3 Item3, T4 Item4, T5 Item5, T6 Item6, T7 Item7)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2, T3 Item3, T4 Item4, T5 Item5, T6 Item6)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2, T3 Item3, T4 Item4, T5 Item5)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2, T3 Item3, T4 Item4)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2, T3 Item3)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable<(T1 Item1, T2 Item2)>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable!>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable>! enumerable) -> Xunit.TheoryData! +static Funcky.Extensions.ToTheoryDataExtension.ToTheoryData(this System.Collections.Generic.IEnumerable! enumerable) -> Xunit.TheoryData! +static Funcky.FunctionalAssert.IsError(Funcky.Monads.Result result) -> System.Exception! +static Funcky.FunctionalAssert.IsLeft(Funcky.Monads.Either either) -> TLeft +static Funcky.FunctionalAssert.IsLeft(TLeft expectedLeft, Funcky.Monads.Either either) -> void +static Funcky.FunctionalAssert.IsNone(Funcky.Monads.Option option) -> void +static Funcky.FunctionalAssert.IsOk(Funcky.Monads.Result result) -> TResult +static Funcky.FunctionalAssert.IsOk(TResult expectedResult, Funcky.Monads.Result result) -> void +static Funcky.FunctionalAssert.IsRight(Funcky.Monads.Either either) -> TRight +static Funcky.FunctionalAssert.IsRight(TRight expectedRight, Funcky.Monads.Either either) -> void +static Funcky.FunctionalAssert.IsSome(Funcky.Monads.Option option) -> TItem +static Funcky.FunctionalAssert.IsSome(TItem expectedValue, Funcky.Monads.Option option) -> void diff --git a/Funcky.Xunit/PublicAPI.Unshipped.txt b/Funcky.Xunit/PublicAPI.Unshipped.txt new file mode 100644 index 00000000..7dc5c581 --- /dev/null +++ b/Funcky.Xunit/PublicAPI.Unshipped.txt @@ -0,0 +1 @@ +#nullable enable diff --git a/Funcky/Extensions/EnumerableExtensions/PartitionResult.cs b/Funcky/Extensions/EnumerableExtensions/PartitionResult.cs index bd2c8afd..f3aa0c42 100644 --- a/Funcky/Extensions/EnumerableExtensions/PartitionResult.cs +++ b/Funcky/Extensions/EnumerableExtensions/PartitionResult.cs @@ -2,16 +2,16 @@ namespace Funcky.Extensions; public static partial class EnumerableExtensions { - /// Partitions the result values in an into an ok and an error partition. + /// Partitions the result values in an into an error and ok partition. public static ResultPartitions Partition(this IEnumerable> source) - => source.Partition((left, right) => new ResultPartitions(left, right)); + => source.Partition((error, ok) => new ResultPartitions(error, ok)); - /// Partitions the either values in an into an ok and an error partition. - public static TResult Partition(this IEnumerable> source, Func, IReadOnlyCollection, TResult> resultSelector) + /// Partitions the either values in an into an error and ok partition. + public static TResult Partition(this IEnumerable> source, Func, IReadOnlyCollection, TResult> resultSelector) => source - .Aggregate(PartitionBuilder.Default, Add) + .Aggregate(PartitionBuilder.Default, Add) .Build(resultSelector); - private static PartitionBuilder Add(PartitionBuilder builder, Result result) - => result.Match(ok: builder.AddLeft, error: builder.AddRight); + private static PartitionBuilder Add(PartitionBuilder builder, Result result) + => result.Match(error: builder.AddLeft, ok: builder.AddRight); } diff --git a/Funcky/Extensions/EnumerableExtensions/ResultPartitions.cs b/Funcky/Extensions/EnumerableExtensions/ResultPartitions.cs index cb24bdd6..b3968a53 100644 --- a/Funcky/Extensions/EnumerableExtensions/ResultPartitions.cs +++ b/Funcky/Extensions/EnumerableExtensions/ResultPartitions.cs @@ -2,11 +2,11 @@ namespace Funcky.Extensions; public readonly struct ResultPartitions { - public ResultPartitions(IReadOnlyCollection ok, IReadOnlyCollection error) => (Ok, Error) = (ok, error); - - public IReadOnlyCollection Ok { get; } + public ResultPartitions(IReadOnlyCollection error, IReadOnlyCollection ok) => (Error, Ok) = (error, ok); public IReadOnlyCollection Error { get; } - public void Deconstruct(out IReadOnlyCollection ok, out IReadOnlyCollection error) => (ok, error) = (Ok, Error); + public IReadOnlyCollection Ok { get; } + + public void Deconstruct(out IReadOnlyCollection error, out IReadOnlyCollection ok) => (error, ok) = (Error, Ok); } diff --git a/Funcky/Funcky.csproj b/Funcky/Funcky.csproj index c5deaeb3..e9074af5 100644 --- a/Funcky/Funcky.csproj +++ b/Funcky/Funcky.csproj @@ -6,7 +6,7 @@ Funcky Funcky is a functional C# library Functional Monad Linq - 2.6.0 + 2.7.0 true snupkg README.md diff --git a/Funcky/PublicAPI.Shipped.txt b/Funcky/PublicAPI.Shipped.txt index 776d0fa2..167b384a 100644 --- a/Funcky/PublicAPI.Shipped.txt +++ b/Funcky/PublicAPI.Shipped.txt @@ -19,6 +19,12 @@ Funcky.ExponentialBackoffRetryPolicy.ExponentialBackoffRetryPolicy(int maxRetry, Funcky.ExponentialBackoffRetryPolicy.MaxRetries.get -> int Funcky.Extensions.AsyncEnumerableExtensions Funcky.Extensions.DictionaryExtensions +Funcky.Extensions.EitherPartitions +Funcky.Extensions.EitherPartitions.Deconstruct(out System.Collections.Generic.IReadOnlyCollection! left, out System.Collections.Generic.IReadOnlyCollection! right) -> void +Funcky.Extensions.EitherPartitions.EitherPartitions() -> void +Funcky.Extensions.EitherPartitions.EitherPartitions(System.Collections.Generic.IReadOnlyCollection! left, System.Collections.Generic.IReadOnlyCollection! right) -> void +Funcky.Extensions.EitherPartitions.Left.get -> System.Collections.Generic.IReadOnlyCollection! +Funcky.Extensions.EitherPartitions.Right.get -> System.Collections.Generic.IReadOnlyCollection! Funcky.Extensions.EnumerableExtensions Funcky.Extensions.FuncExtensions Funcky.Extensions.HttpHeadersExtensions @@ -27,6 +33,12 @@ Funcky.Extensions.ParseExtensions Funcky.Extensions.QueryableExtensions Funcky.Extensions.QueueExtensions Funcky.Extensions.RangeExtensions +Funcky.Extensions.ResultPartitions +Funcky.Extensions.ResultPartitions.Deconstruct(out System.Collections.Generic.IReadOnlyCollection! error, out System.Collections.Generic.IReadOnlyCollection! ok) -> void +Funcky.Extensions.ResultPartitions.Error.get -> System.Collections.Generic.IReadOnlyCollection! +Funcky.Extensions.ResultPartitions.Ok.get -> System.Collections.Generic.IReadOnlyCollection! +Funcky.Extensions.ResultPartitions.ResultPartitions() -> void +Funcky.Extensions.ResultPartitions.ResultPartitions(System.Collections.Generic.IReadOnlyCollection! error, System.Collections.Generic.IReadOnlyCollection! ok) -> void Funcky.Extensions.StreamExtensions Funcky.Extensions.StringExtensions Funcky.Extensions.ValueWithFirst @@ -70,6 +82,7 @@ Funcky.Monads.Either Funcky.Monads.Either.Either() -> void Funcky.Monads.Either.Equals(Funcky.Monads.Either other) -> bool Funcky.Monads.Either.Flip() -> Funcky.Monads.Either +Funcky.Monads.Either.Inspect(System.Action! action) -> Funcky.Monads.Either Funcky.Monads.Either.Match(System.Action! left, System.Action! right) -> void Funcky.Monads.Either.Match(System.Func! left, System.Func! right) -> TMatchResult Funcky.Monads.Either.Select(System.Func! selector) -> Funcky.Monads.Either @@ -102,11 +115,13 @@ Funcky.Monads.Option.Select(System.Func! selecto Funcky.Monads.Option.SelectMany(System.Func>! maybeSelector, System.Func! resultSelector) -> Funcky.Monads.Option Funcky.Monads.Option.SelectMany(System.Func>! selector) -> Funcky.Monads.Option Funcky.Monads.Option.ToEnumerable() -> System.Collections.Generic.IEnumerable! +Funcky.Monads.Option.TryGetValue(out TItem item) -> bool Funcky.Monads.Option.Where(System.Func! predicate) -> Funcky.Monads.Option Funcky.Monads.OptionComparer Funcky.Monads.OptionComparer Funcky.Monads.OptionEqualityComparer Funcky.Monads.OptionEqualityComparer +Funcky.Monads.OptionExtensions Funcky.Monads.OptionTaskAwaiter Funcky.Monads.OptionTaskAwaiter.GetResult() -> Funcky.Monads.Option Funcky.Monads.OptionTaskAwaiter.IsCompleted.get -> bool @@ -123,6 +138,7 @@ Funcky.Monads.ReaderExtensions Funcky.Monads.Result Funcky.Monads.Result Funcky.Monads.Result.Equals(Funcky.Monads.Result other) -> bool +Funcky.Monads.Result.Inspect(System.Action! action) -> Funcky.Monads.Result Funcky.Monads.Result.Match(System.Action! ok, System.Action! error) -> void Funcky.Monads.Result.Match(System.Func! ok, System.Func! error) -> TMatchResult Funcky.Monads.Result.Result() -> void @@ -140,6 +156,7 @@ override Funcky.DataTypes.EitherOrBoth.Equals(object? obj) -> boo override Funcky.DataTypes.EitherOrBoth.GetHashCode() -> int override Funcky.Monads.Either.Equals(object? obj) -> bool override Funcky.Monads.Either.GetHashCode() -> int +override Funcky.Monads.Either.ToString() -> string! override Funcky.Monads.JsonOptionConverterFactory.CanConvert(System.Type! typeToConvert) -> bool override Funcky.Monads.JsonOptionConverterFactory.CreateConverter(System.Type! optionType, System.Text.Json.JsonSerializerOptions! options) -> System.Text.Json.Serialization.JsonConverter! override Funcky.Monads.Option.Equals(object? obj) -> bool @@ -147,6 +164,7 @@ override Funcky.Monads.Option.GetHashCode() -> int override Funcky.Monads.Option.ToString() -> string! override Funcky.Monads.Result.Equals(object? obj) -> bool override Funcky.Monads.Result.GetHashCode() -> int +override Funcky.Monads.Result.ToString() -> string! override Funcky.Unit.Equals(object? obj) -> bool override Funcky.Unit.GetHashCode() -> int static Funcky.DataTypes.EitherOrBoth.FromOptions(Funcky.Monads.Option leftElement, Funcky.Monads.Option rightElement) -> Funcky.Monads.Option> @@ -188,6 +206,8 @@ static Funcky.Extensions.EnumerableExtensions.AdjacentGroupBy(this System.Collections.Generic.IEnumerable! source, System.Func! keySelector, System.Func!, TResult>! resultSelector, System.Collections.Generic.IEqualityComparer! comparer) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.AdjacentGroupBy(this System.Collections.Generic.IEnumerable! source, System.Func! keySelector) -> System.Collections.Generic.IEnumerable!>! static Funcky.Extensions.EnumerableExtensions.AdjacentGroupBy(this System.Collections.Generic.IEnumerable! source, System.Func! keySelector, System.Collections.Generic.IEqualityComparer! comparer) -> System.Collections.Generic.IEnumerable!>! +static Funcky.Extensions.EnumerableExtensions.AnyOrElse(this System.Collections.Generic.IEnumerable! source, System.Collections.Generic.IEnumerable! fallback) -> System.Collections.Generic.IEnumerable! +static Funcky.Extensions.EnumerableExtensions.AnyOrElse(this System.Collections.Generic.IEnumerable! source, System.Func!>! fallback) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.AverageOrNone(this System.Collections.Generic.IEnumerable! source) -> Funcky.Monads.Option static Funcky.Extensions.EnumerableExtensions.AverageOrNone(this System.Collections.Generic.IEnumerable! source) -> Funcky.Monads.Option static Funcky.Extensions.EnumerableExtensions.AverageOrNone(this System.Collections.Generic.IEnumerable! source) -> Funcky.Monads.Option @@ -214,10 +234,12 @@ static Funcky.Extensions.EnumerableExtensions.Chunk(this Syste static Funcky.Extensions.EnumerableExtensions.Chunk(System.Collections.Generic.IEnumerable! source, int size) -> System.Collections.Generic.IEnumerable!>! static Funcky.Extensions.EnumerableExtensions.ConcatToString(this System.Collections.Generic.IEnumerable! source) -> string! static Funcky.Extensions.EnumerableExtensions.ElementAtOrNone(this System.Collections.Generic.IEnumerable! source, int index) -> Funcky.Monads.Option +static Funcky.Extensions.EnumerableExtensions.ExclusiveScan(this System.Collections.Generic.IEnumerable! source, TAccumulate seed, System.Func! accumulator) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.FirstOrNone(this System.Collections.Generic.IEnumerable! source) -> Funcky.Monads.Option static Funcky.Extensions.EnumerableExtensions.FirstOrNone(this System.Collections.Generic.IEnumerable! source, System.Func! predicate) -> Funcky.Monads.Option static Funcky.Extensions.EnumerableExtensions.ForEach(this System.Collections.Generic.IEnumerable! elements, System.Action! action) -> void static Funcky.Extensions.EnumerableExtensions.ForEach(this System.Collections.Generic.IEnumerable! elements, System.Func! action) -> Funcky.Unit +static Funcky.Extensions.EnumerableExtensions.InclusiveScan(this System.Collections.Generic.IEnumerable! source, TAccumulate seed, System.Func! accumulator) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.Inspect(this System.Collections.Generic.IEnumerable! elements, System.Action! action) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.Interleave(this System.Collections.Generic.IEnumerable!>! source) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.Interleave(this System.Collections.Generic.IEnumerable! sequence, params System.Collections.Generic.IEnumerable![]! otherSequences) -> System.Collections.Generic.IEnumerable! @@ -246,6 +268,10 @@ static Funcky.Extensions.EnumerableExtensions.Pairwise(this Sy static Funcky.Extensions.EnumerableExtensions.Pairwise(this System.Collections.Generic.IEnumerable! source) -> System.Collections.Generic.IEnumerable<(TSource Front, TSource Back)>! static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable! source, System.Func! predicate, System.Func!, System.Collections.Generic.IEnumerable!, TResult>! resultSelector) -> TResult static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable! source, System.Func! predicate) -> (System.Collections.Generic.IEnumerable! True, System.Collections.Generic.IEnumerable! False) +static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable>! source, System.Func!, System.Collections.Generic.IReadOnlyCollection!, TResult>! resultSelector) -> TResult +static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable>! source) -> Funcky.Extensions.EitherPartitions +static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable>! source, System.Func!, System.Collections.Generic.IReadOnlyCollection!, TResult>! resultSelector) -> TResult +static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable>! source) -> Funcky.Extensions.ResultPartitions static Funcky.Extensions.EnumerableExtensions.PowerSet(this System.Collections.Generic.IEnumerable! source) -> System.Collections.Generic.IEnumerable!>! static Funcky.Extensions.EnumerableExtensions.Shuffle(this System.Collections.Generic.IEnumerable! source) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.SingleOrNone(this System.Collections.Generic.IEnumerable! source) -> Funcky.Monads.Option @@ -317,27 +343,153 @@ static Funcky.Extensions.HttpHeadersExtensions.TryGetValues(this System.Net.Http static Funcky.Extensions.ObjectExtensions.ToEnumerable(this T item, Funcky.GenericConstraints.RequireStruct? ω = null) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.ObjectExtensions.ToEnumerable(this T? item) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.ObjectExtensions.ToEnumerable(this T? item, Funcky.GenericConstraints.RequireClass? ω = null) -> System.Collections.Generic.IEnumerable! +static Funcky.Extensions.ParseExtensions.ParseAuthenticationHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this string? candidate, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseBooleanOrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseBooleanOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this string! candidate, System.Globalization.NumberStyles styles, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseCacheControlHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseContentDispositionHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseContentRangeHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateOnlyOrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateOnlyOrNone(this string! candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateOnlyOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateOnlyOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateTimeOffsetOrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateTimeOffsetOrNone(this string! candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateTimeOffsetOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateTimeOffsetOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDateTimeOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDateTimeOrNone(this string! candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles styles) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateTimeOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDateTimeOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this string! candidate, System.Globalization.NumberStyles styles, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDoubleOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDoubleOrNone(this string! candidate, System.Globalization.NumberStyles styles, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDoubleOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseDoubleOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseEntityTagHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this string! candidate, System.Type! type) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this string! candidate, System.Type! type, bool ignoreCase) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this System.ReadOnlySpan candidate, System.Type! type) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this System.ReadOnlySpan candidate, System.Type! type, bool ignoreCase) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this string! candidate, bool ignoreCase) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this System.ReadOnlySpan candidate, bool ignoreCase) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this string! candidate, string! format) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this string! candidate, string! format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this string! candidate, string![]! formats) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this string! candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this System.ReadOnlySpan candidate, string![]! formats) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOffsetOrNone(this string! candidate, string! format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOffsetOrNone(this string! candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOffsetOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOffsetOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOrNone(this string! candidate, string! format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOrNone(this string! candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactGuidOrNone(this string? candidate, string? format) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactGuidOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this string! candidate, string! format) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this string! candidate, string! format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this string! candidate, string![]! formats) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this string! candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this System.ReadOnlySpan candidate, string![]! formats) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this string! candidate, string! format, System.IFormatProvider! formatProvider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this string! candidate, string! format, System.IFormatProvider! formatProvider, System.Globalization.TimeSpanStyles styles) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this string! candidate, string![]! formats, System.IFormatProvider! formatProvider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this string! candidate, string![]! formats, System.IFormatProvider! formatProvider, System.Globalization.TimeSpanStyles styles) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! formatProvider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! formatProvider, System.Globalization.TimeSpanStyles styles) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! formatProvider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! formatProvider, System.Globalization.TimeSpanStyles styles) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseFloatOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseFloatOrNone(this string! candidate, System.Globalization.NumberStyles styles, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseGuidOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseGuidOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseIntOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseIntOrNone(this string! candidate, System.Globalization.NumberStyles styles, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseIPAddressOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseIPAddressOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseIPEndPointOrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseIPEndPointOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseLongOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseLongOrNone(this string! candidate, System.Globalization.NumberStyles styles, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseMediaTypeHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseMediaTypeWithQualityHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseNameValueHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseNameValueWithParametersHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseProductHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseProductInfoHeaderValueOrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseRangeConditionHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseRangeHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseRetryConditionHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseShortOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseShortOrNone(this string! candidate, System.Globalization.NumberStyles styles, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseStringWithQualityHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseTimeOnlyOrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseTimeOnlyOrNone(this string! candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseTimeOnlyOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseTimeOnlyOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseTimeSpanOrNone(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseTimeSpanOrNone(this string! candidate, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseTimeSpanOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseTimeSpanOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseTransferCodingHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseTransferCodingWithQualityHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this string! candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseVersionOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseVersionOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseViaHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseWarningHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.TryParseBoolean(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.TryParseByte(this string! candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.TryParseByte(this string! candidate, System.Globalization.NumberStyles styles, System.IFormatProvider! provider) -> Funcky.Monads.Option @@ -433,10 +585,10 @@ static Funcky.Functional.Curry(System.Action! action) -> static Funcky.Functional.Curry(System.Func! function) -> System.Func!>! static Funcky.Functional.Curry(System.Action! action) -> System.Func!>! static Funcky.Functional.False() -> bool +static Funcky.Functional.False(T ω) -> bool static Funcky.Functional.False(T0 ω0, T1 ω1, T2 ω2, T3 ω3) -> bool static Funcky.Functional.False(T0 ω0, T1 ω1, T2 ω2) -> bool static Funcky.Functional.False(T0 ω0, T1 ω1) -> bool -static Funcky.Functional.False(T ω) -> bool static Funcky.Functional.Flip(System.Func! function) -> System.Func! static Funcky.Functional.Flip(System.Action! action) -> System.Action! static Funcky.Functional.Flip(System.Func! function) -> System.Func! @@ -466,10 +618,10 @@ static Funcky.Functional.Retry(System.Func(System.Func>! producer, Funcky.IRetryPolicy! retryPolicy) -> Funcky.Monads.Option static Funcky.Functional.RetryAsync(System.Func>!>! producer, Funcky.IRetryPolicy! retryPolicy) -> System.Threading.Tasks.Task>! static Funcky.Functional.True() -> bool +static Funcky.Functional.True(T ω) -> bool static Funcky.Functional.True(T0 ω0, T1 ω1, T2 ω2, T3 ω3) -> bool static Funcky.Functional.True(T0 ω0, T1 ω1, T2 ω2) -> bool static Funcky.Functional.True(T0 ω0, T1 ω1) -> bool -static Funcky.Functional.True(T ω) -> bool static Funcky.Functional.Uncurry(System.Func!>!>!>!>!>!>!>! function) -> System.Func! static Funcky.Functional.Uncurry(System.Func!>!>!>!>!>!>!>! action) -> System.Action! static Funcky.Functional.Uncurry(System.Func!>!>!>!>!>!>! function) -> System.Func! @@ -497,6 +649,7 @@ static Funcky.Monads.AwaitableOptionExtensions.GetAwaiter(this Funcky.Monads.Opt static Funcky.Monads.AwaitableOptionExtensions.GetAwaiter(this Funcky.Monads.Option option) -> System.Runtime.CompilerServices.ValueTaskAwaiter static Funcky.Monads.AwaitableOptionExtensions.GetAwaiter(this Funcky.Monads.Option!> option) -> Funcky.Monads.OptionTaskAwaiter static Funcky.Monads.AwaitableOptionExtensions.GetAwaiter(this Funcky.Monads.Option> option) -> Funcky.Monads.OptionValueTaskAwaiter +static Funcky.Monads.Either.implicit operator Funcky.Monads.Either(TRight right) -> Funcky.Monads.Either static Funcky.Monads.Either.Left(TLeft left) -> Funcky.Monads.Either static Funcky.Monads.Either.operator !=(Funcky.Monads.Either lhs, Funcky.Monads.Either rhs) -> bool static Funcky.Monads.Either.operator ==(Funcky.Monads.Either lhs, Funcky.Monads.Either rhs) -> bool @@ -514,6 +667,7 @@ static Funcky.Monads.Option.FromBoolean(bool boolean, System.Func! static Funcky.Monads.Option.FromBoolean(bool boolean, TItem item) -> Funcky.Monads.Option static Funcky.Monads.Option.FromNullable(T? item) -> Funcky.Monads.Option static Funcky.Monads.Option.FromNullable(T? item) -> Funcky.Monads.Option +static Funcky.Monads.Option.None() -> Funcky.Monads.Option static Funcky.Monads.Option.Return(TItem item) -> Funcky.Monads.Option static Funcky.Monads.Option.Some(TItem item) -> Funcky.Monads.Option static Funcky.Monads.Option.implicit operator Funcky.Monads.Option(TItem item) -> Funcky.Monads.Option @@ -529,6 +683,8 @@ static Funcky.Monads.OptionComparer.Create(System.Comparison! comp static Funcky.Monads.OptionComparer.Default.get -> System.Collections.Generic.Comparer>! static Funcky.Monads.OptionEqualityComparer.Create(System.Collections.Generic.IEqualityComparer! comparer) -> System.Collections.Generic.EqualityComparer>! static Funcky.Monads.OptionEqualityComparer.Default.get -> System.Collections.Generic.EqualityComparer>! +static Funcky.Monads.OptionExtensions.ToEither(this Funcky.Monads.Option option, System.Func! getLeft) -> Funcky.Monads.Either +static Funcky.Monads.OptionExtensions.ToEither(this Funcky.Monads.Option option, TLeft left) -> Funcky.Monads.Either static Funcky.Monads.Reader.FromAction(System.Action! action) -> Funcky.Monads.Reader! static Funcky.Monads.Reader.FromFunc(System.Func! function) -> Funcky.Monads.Reader! static Funcky.Monads.Reader.Return(TSource value) -> Funcky.Monads.Reader! @@ -539,6 +695,7 @@ static Funcky.Monads.ReaderExtensions.Sequence(this Syst static Funcky.Monads.Result.Ok(TValidResult item) -> Funcky.Monads.Result static Funcky.Monads.Result.Return(TValidResult item) -> Funcky.Monads.Result static Funcky.Monads.Result.Error(System.Exception! item) -> Funcky.Monads.Result +static Funcky.Monads.Result.implicit operator Funcky.Monads.Result(TValidResult item) -> Funcky.Monads.Result static Funcky.Monads.Result.operator !=(Funcky.Monads.Result lhs, Funcky.Monads.Result rhs) -> bool static Funcky.Monads.Result.operator ==(Funcky.Monads.Result lhs, Funcky.Monads.Result rhs) -> bool static Funcky.Sequence.Concat(params System.Collections.Generic.IEnumerable![]! sources) -> System.Collections.Generic.IEnumerable! diff --git a/Funcky/PublicAPI.Unshipped.txt b/Funcky/PublicAPI.Unshipped.txt index 75f969bc..7dc5c581 100644 --- a/Funcky/PublicAPI.Unshipped.txt +++ b/Funcky/PublicAPI.Unshipped.txt @@ -1,158 +1 @@ #nullable enable -Funcky.Extensions.EitherPartitions -Funcky.Extensions.EitherPartitions.Deconstruct(out System.Collections.Generic.IReadOnlyCollection! left, out System.Collections.Generic.IReadOnlyCollection! right) -> void -Funcky.Extensions.EitherPartitions.EitherPartitions() -> void -Funcky.Extensions.EitherPartitions.EitherPartitions(System.Collections.Generic.IReadOnlyCollection! left, System.Collections.Generic.IReadOnlyCollection! right) -> void -Funcky.Extensions.EitherPartitions.Left.get -> System.Collections.Generic.IReadOnlyCollection! -Funcky.Extensions.EitherPartitions.Right.get -> System.Collections.Generic.IReadOnlyCollection! -Funcky.Extensions.ResultPartitions -Funcky.Extensions.ResultPartitions.Deconstruct(out System.Collections.Generic.IReadOnlyCollection! ok, out System.Collections.Generic.IReadOnlyCollection! error) -> void -Funcky.Extensions.ResultPartitions.Error.get -> System.Collections.Generic.IReadOnlyCollection! -Funcky.Extensions.ResultPartitions.Ok.get -> System.Collections.Generic.IReadOnlyCollection! -Funcky.Extensions.ResultPartitions.ResultPartitions() -> void -Funcky.Extensions.ResultPartitions.ResultPartitions(System.Collections.Generic.IReadOnlyCollection! ok, System.Collections.Generic.IReadOnlyCollection! error) -> void -Funcky.Monads.Either.Inspect(System.Action! action) -> Funcky.Monads.Either -Funcky.Monads.Option.TryGetValue(out TItem item) -> bool -Funcky.Monads.OptionExtensions -Funcky.Monads.Result.Inspect(System.Action! action) -> Funcky.Monads.Result -override Funcky.Monads.Either.ToString() -> string! -override Funcky.Monads.Result.ToString() -> string! -static Funcky.Extensions.EnumerableExtensions.AnyOrElse(this System.Collections.Generic.IEnumerable! source, System.Collections.Generic.IEnumerable! fallback) -> System.Collections.Generic.IEnumerable! -static Funcky.Extensions.EnumerableExtensions.AnyOrElse(this System.Collections.Generic.IEnumerable! source, System.Func!>! fallback) -> System.Collections.Generic.IEnumerable! -static Funcky.Extensions.EnumerableExtensions.ExclusiveScan(this System.Collections.Generic.IEnumerable! source, TAccumulate seed, System.Func! accumulator) -> System.Collections.Generic.IEnumerable! -static Funcky.Extensions.EnumerableExtensions.InclusiveScan(this System.Collections.Generic.IEnumerable! source, TAccumulate seed, System.Func! accumulator) -> System.Collections.Generic.IEnumerable! -static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable>! source, System.Func!, System.Collections.Generic.IReadOnlyCollection!, TResult>! resultSelector) -> TResult -static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable>! source) -> Funcky.Extensions.EitherPartitions -static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable>! source, System.Func!, System.Collections.Generic.IReadOnlyCollection!, TResult>! resultSelector) -> TResult -static Funcky.Extensions.EnumerableExtensions.Partition(this System.Collections.Generic.IEnumerable>! source) -> Funcky.Extensions.ResultPartitions -static Funcky.Extensions.ParseExtensions.ParseAuthenticationHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this string? candidate, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseBooleanOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseCacheControlHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseContentDispositionHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseContentRangeHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateOnlyOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateOnlyOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateOnlyOrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateOnlyOrNone(this string! candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateTimeOffsetOrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateTimeOffsetOrNone(this string! candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateTimeOffsetOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateTimeOffsetOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateTimeOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDateTimeOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDoubleOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDoubleOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseEntityTagHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this string! candidate, System.Type! type) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this string! candidate, System.Type! type, bool ignoreCase) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this System.ReadOnlySpan candidate, System.Type! type) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this System.ReadOnlySpan candidate, System.Type! type, bool ignoreCase) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseEnumOrNone(this System.ReadOnlySpan candidate, bool ignoreCase) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this string! candidate, string! format) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this string! candidate, string! format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this string! candidate, string![]! formats) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this string! candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this System.ReadOnlySpan candidate, string![]! formats) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateOnlyOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOffsetOrNone(this string! candidate, string! format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOffsetOrNone(this string! candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOffsetOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOffsetOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOrNone(this string! candidate, string! format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOrNone(this string! candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactDateTimeOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactGuidOrNone(this string? candidate, string? format) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactGuidOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this string! candidate, string! format) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this string! candidate, string! format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this string! candidate, string![]! formats) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this string! candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this System.ReadOnlySpan candidate, string![]! formats) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeOnlyOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this string! candidate, string! format, System.IFormatProvider! formatProvider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this string! candidate, string! format, System.IFormatProvider! formatProvider, System.Globalization.TimeSpanStyles styles) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this string! candidate, string![]! formats, System.IFormatProvider! formatProvider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this string! candidate, string![]! formats, System.IFormatProvider! formatProvider, System.Globalization.TimeSpanStyles styles) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! formatProvider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this System.ReadOnlySpan candidate, string![]! formats, System.IFormatProvider! formatProvider, System.Globalization.TimeSpanStyles styles) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! formatProvider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseExactTimeSpanOrNone(this System.ReadOnlySpan candidate, System.ReadOnlySpan format, System.IFormatProvider! formatProvider, System.Globalization.TimeSpanStyles styles) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseGuidOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseGuidOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseIPAddressOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseIPAddressOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseIPEndPointOrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseIPEndPointOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseMediaTypeHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseMediaTypeWithQualityHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseNameValueHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseNameValueWithParametersHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseProductHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseProductInfoHeaderValueOrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseRangeConditionHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseRangeHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseRetryConditionHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseStringWithQualityHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseTimeOnlyOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseTimeOnlyOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseTimeOnlyOrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseTimeOnlyOrNone(this string! candidate, System.IFormatProvider! provider, System.Globalization.DateTimeStyles style) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseTimeSpanOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseTimeSpanOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseTransferCodingHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseTransferCodingWithQualityHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this string! candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this string! candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this System.ReadOnlySpan candidate, System.Globalization.NumberStyles style, System.IFormatProvider! provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseVersionOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseVersionOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseViaHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseWarningHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option -static Funcky.Monads.Either.implicit operator Funcky.Monads.Either(TRight right) -> Funcky.Monads.Either -static Funcky.Monads.Option.None() -> Funcky.Monads.Option -static Funcky.Monads.OptionExtensions.ToEither(this Funcky.Monads.Option option, System.Func! getLeft) -> Funcky.Monads.Either -static Funcky.Monads.OptionExtensions.ToEither(this Funcky.Monads.Option option, TLeft left) -> Funcky.Monads.Either -static Funcky.Monads.Result.implicit operator Funcky.Monads.Result(TValidResult item) -> Funcky.Monads.Result diff --git a/changelog.md b/changelog.md index 7361c134..79ea1a37 100644 --- a/changelog.md +++ b/changelog.md @@ -2,12 +2,43 @@ All notable changes to this project will be documented in this file. Funcky adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased -* Add `ParseVersionOrNone` extension. +## Funcky 2.7.0 | Funcky.XUnit 1.0.0 | Funcky.Analyzers 1.1.0 +This release is the last non-breaking release for Funcky before 3.0. + +### Deprecations +* `EnumerableExtensions.CartesianProduct` will be removed in Funcky 3. +* To align our naming with that of the BCL, the `ParseOrNone` methods + that return a type that has a keyword in C# `int`, `long`, etc. use the name of the BCL type instead. \ + Example: `ParseIntOrNone` becomes `ParseInt32OrNone`. \ + The old methods will be removed in Funcky 3. +* In preparation for Funcky 3 we deprecated `Option.None` when used as method group. Use `Option.None` instead. + +### New `ParseOrNone` extensions +With the help of a source generator we have added a lot of new ParseOrNone methods for various types from the BCL: + * Unsigned integer types + * `DateOnly`, `TimeOnly` + * `Version` + * Support for `ReadOnlySpan` as input + * ... and more + +### Convenience for `Either` and `Result` +* Added implicit conversions for `Either` and `Result`. * Implement `Inspect` for `Either` and `Result`. -* Use Source Generator to emit more `*OrNone` functions. -* Cartesian Product deprecated. -* Add implicit converions for `Either` and `Result`. +* Added `Partition` for `IEnumerable` and `IEnumerable`. +* Added `ToString` on `Either` and `Result`. +* Implement `ToEither` on `Option`. + +### `IEnumerable` extensions +* `AnyOrElse` +* Prefix sum: `InclusiveScan` and `ExclusiveScan` + +### Analyzers +This release adds two new analyzer rules: + +* λ1003: Warning when certain methods, such as `Match` are used without argument labels +* λ1004: Warning that suggests `.ConcatToString()` over `.JoinToString("")` + +Both of these warnings come with corresponding code fixes. ### Funcky.Xunit * Breaking: Funcky.Xunit now uses the `Funcky` namespace, instead of `Funcky.Xunit`.