diff --git a/Funcky.Async/Funcky.Async.csproj b/Funcky.Async/Funcky.Async.csproj index 0d467331..a408cdfd 100644 --- a/Funcky.Async/Funcky.Async.csproj +++ b/Funcky.Async/Funcky.Async.csproj @@ -5,7 +5,7 @@ enable Extends Funcky with support for IAsyncEnumerable and Tasks. Functional Async Monad Linq - 1.2.0 + 1.3.0 true snupkg diff --git a/Funcky.Async/PublicAPI.Shipped.txt b/Funcky.Async/PublicAPI.Shipped.txt index 8e5c34b6..d0b2c92f 100644 --- a/Funcky.Async/PublicAPI.Shipped.txt +++ b/Funcky.Async/PublicAPI.Shipped.txt @@ -276,3 +276,5 @@ static Funcky.Monads.ResultAsyncExtensions.Sequence(this Funcky.Mo static Funcky.Monads.ResultAsyncExtensions.Traverse(this Funcky.Monads.Result result, System.Func!>! selector) -> System.Collections.Generic.IAsyncEnumerable>! static Funcky.Monads.ResultAsyncExtensions.Traverse(this Funcky.Monads.Result result, System.Func!>! selector) -> System.Threading.Tasks.Task>! static Funcky.Monads.ResultAsyncExtensions.Traverse(this Funcky.Monads.Result result, System.Func>! selector) -> System.Threading.Tasks.ValueTask> +static Funcky.Extensions.AsyncEnumerableExtensions.InspectEmpty(this System.Collections.Generic.IAsyncEnumerable! source, System.Action! inspector) -> System.Collections.Generic.IAsyncEnumerable! +static Funcky.Monads.OptionAsyncExtensions.ToAsyncEnumerable(this Funcky.Monads.Option option) -> System.Collections.Generic.IAsyncEnumerable! diff --git a/Funcky.Async/PublicAPI.Unshipped.txt b/Funcky.Async/PublicAPI.Unshipped.txt index ec67fe26..7dc5c581 100644 --- a/Funcky.Async/PublicAPI.Unshipped.txt +++ b/Funcky.Async/PublicAPI.Unshipped.txt @@ -1,3 +1 @@ #nullable enable -static Funcky.Extensions.AsyncEnumerableExtensions.InspectEmpty(this System.Collections.Generic.IAsyncEnumerable! source, System.Action! inspector) -> System.Collections.Generic.IAsyncEnumerable! -static Funcky.Monads.OptionAsyncExtensions.ToAsyncEnumerable(this Funcky.Monads.Option option) -> System.Collections.Generic.IAsyncEnumerable! diff --git a/Funcky.Xunit/Funcky.Xunit.csproj b/Funcky.Xunit/Funcky.Xunit.csproj index 9b581517..a03975a0 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 - 2.0.1 + 2.0.2 true snupkg Funcky diff --git a/Funcky/Funcky.csproj b/Funcky/Funcky.csproj index 8be5e4ae..1d7fcff8 100644 --- a/Funcky/Funcky.csproj +++ b/Funcky/Funcky.csproj @@ -6,7 +6,7 @@ Funcky Funcky is a functional C# library Functional Monad Linq - 3.3.0 + 3.4.0 true snupkg README.md diff --git a/Funcky/PublicAPI.Shipped.txt b/Funcky/PublicAPI.Shipped.txt index 919b267b..a105ebc4 100644 --- a/Funcky/PublicAPI.Shipped.txt +++ b/Funcky/PublicAPI.Shipped.txt @@ -16,6 +16,7 @@ Funcky.Extensions.EitherPartitions.EitherPartitions(System.Collec Funcky.Extensions.EitherPartitions.Left.get -> System.Collections.Generic.IReadOnlyList! Funcky.Extensions.EitherPartitions.Right.get -> System.Collections.Generic.IReadOnlyList! Funcky.Extensions.EnumerableExtensions +Funcky.Extensions.EnumeratorExtensions Funcky.Extensions.FuncExtensions Funcky.Extensions.HttpHeadersExtensions Funcky.Extensions.HttpHeadersNonValidatedExtensions @@ -75,7 +76,10 @@ Funcky.Monads.Either.Flip() -> Funcky.Monads.Either.GetOrElse(System.Func! fallback) -> TRight Funcky.Monads.Either.GetOrElse(TRight fallback) -> TRight Funcky.Monads.Either.Inspect(System.Action! inspector) -> Funcky.Monads.Either +Funcky.Monads.Either.InspectLeft(System.Action! inspector) -> Funcky.Monads.Either Funcky.Monads.Either.Match(System.Func! left, System.Func! right) -> TMatchResult +Funcky.Monads.Either.OrElse(Funcky.Monads.Either fallback) -> Funcky.Monads.Either +Funcky.Monads.Either.OrElse(System.Func>! fallback) -> Funcky.Monads.Either Funcky.Monads.Either.Select(System.Func! selector) -> Funcky.Monads.Either Funcky.Monads.Either.SelectLeft(System.Func! selector) -> Funcky.Monads.Either Funcky.Monads.Either.SelectMany(System.Func>! selector, System.Func! resultSelector) -> Funcky.Monads.Either @@ -97,6 +101,7 @@ Funcky.Monads.Option.Equals(Funcky.Monads.Option other) -> bool Funcky.Monads.Option.GetOrElse(System.Func! fallback) -> TItem Funcky.Monads.Option.GetOrElse(TItem fallback) -> TItem Funcky.Monads.Option.Inspect(System.Action! inspector) -> Funcky.Monads.Option +Funcky.Monads.Option.InspectNone(System.Action! inspector) -> Funcky.Monads.Option Funcky.Monads.Option.Match(System.Func! none, System.Func! some) -> TResult Funcky.Monads.Option.Match(TResult none, System.Func! some) -> TResult Funcky.Monads.Option.Option() -> void @@ -123,9 +128,14 @@ Funcky.Monads.ReaderExtensions Funcky.Monads.Result Funcky.Monads.Result Funcky.Monads.Result.Equals(Funcky.Monads.Result other) -> bool +Funcky.Monads.Result.GetOrElse(System.Func! fallback) -> TValidResult +Funcky.Monads.Result.GetOrElse(TValidResult fallback) -> TValidResult Funcky.Monads.Result.GetOrThrow() -> TValidResult Funcky.Monads.Result.Inspect(System.Action! inspector) -> Funcky.Monads.Result +Funcky.Monads.Result.InspectError(System.Action! inspector) -> Funcky.Monads.Result Funcky.Monads.Result.Match(System.Func! ok, System.Func! error) -> TMatchResult +Funcky.Monads.Result.OrElse(Funcky.Monads.Result fallback) -> Funcky.Monads.Result +Funcky.Monads.Result.OrElse(System.Func>! fallback) -> Funcky.Monads.Result Funcky.Monads.Result.Result() -> void Funcky.Monads.Result.Select(System.Func! selector) -> Funcky.Monads.Result Funcky.Monads.Result.SelectMany(System.Func>! selector) -> Funcky.Monads.Result @@ -162,6 +172,7 @@ Funcky.Unit Funcky.Unit.CompareTo(Funcky.Unit other) -> int Funcky.Unit.Equals(Funcky.Unit other) -> bool Funcky.Unit.Unit() -> void +Funcky.UpCast override Funcky.EitherOrBoth.Equals(object? obj) -> bool override Funcky.EitherOrBoth.GetHashCode() -> int override Funcky.Monads.Either.Equals(object? obj) -> bool @@ -252,6 +263,7 @@ static Funcky.Extensions.EnumerableExtensions.ForEach(this System.Colle static Funcky.Extensions.EnumerableExtensions.GetNonEnumeratedCountOrNone(this System.Collections.Generic.IEnumerable! source) -> Funcky.Monads.Option 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! source, System.Action! inspector) -> System.Collections.Generic.IEnumerable! +static Funcky.Extensions.EnumerableExtensions.InspectEmpty(this System.Collections.Generic.IEnumerable! source, System.Action! inspector) -> 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! source, params System.Collections.Generic.IEnumerable![]! otherSources) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.Intersperse(this System.Collections.Generic.IEnumerable! source, TSource element) -> System.Collections.Generic.IEnumerable! @@ -322,6 +334,7 @@ static Funcky.Extensions.EnumerableExtensions.WithLast(this System.Coll static Funcky.Extensions.EnumerableExtensions.WithPrevious(this System.Collections.Generic.IEnumerable! source) -> System.Collections.Generic.IEnumerable>! static Funcky.Extensions.EnumerableExtensions.ZipLongest(this System.Collections.Generic.IEnumerable! left, System.Collections.Generic.IEnumerable! right, System.Func, TResult>! resultSelector) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.EnumerableExtensions.ZipLongest(this System.Collections.Generic.IEnumerable! left, System.Collections.Generic.IEnumerable! right) -> System.Collections.Generic.IEnumerable>! +static Funcky.Extensions.EnumeratorExtensions.MoveNextOrNone(this System.Collections.Generic.IEnumerator! enumerator) -> Funcky.Monads.Option static Funcky.Extensions.FuncExtensions.Compose(this System.Func! f, System.Func! g) -> System.Func! static Funcky.Extensions.FuncExtensions.Compose(this System.Func! f, System.Func! g) -> System.Func! static Funcky.Extensions.FuncExtensions.Curry(this System.Func! function) -> System.Func!>!>!>!>!>!>!>! @@ -357,6 +370,12 @@ static Funcky.Extensions.ImmutableListExtensions.LastIndexOfOrNone(this S static Funcky.Extensions.ImmutableListExtensions.LastIndexOfOrNone(this System.Collections.Immutable.IImmutableList! list, TItem item, int startIndex, int count) -> Funcky.Monads.Option static Funcky.Extensions.ImmutableListExtensions.LastIndexOfOrNone(this System.Collections.Immutable.IImmutableList! list, TItem item, int startIndex, int count, System.Collections.Generic.IEqualityComparer? equalityComparer) -> Funcky.Monads.Option static Funcky.Extensions.ImmutableListExtensions.LastIndexOfOrNone(this System.Collections.Immutable.IImmutableList! list, TItem item, System.Collections.Generic.IEqualityComparer? equalityComparer) -> Funcky.Monads.Option +static Funcky.Extensions.ListExtensions.FindIndexOrNone(this System.Collections.Generic.List! list, int startIndex, int count, System.Predicate! match) -> Funcky.Monads.Option +static Funcky.Extensions.ListExtensions.FindIndexOrNone(this System.Collections.Generic.List! list, int startIndex, System.Predicate! match) -> Funcky.Monads.Option +static Funcky.Extensions.ListExtensions.FindIndexOrNone(this System.Collections.Generic.List! list, System.Predicate! match) -> Funcky.Monads.Option +static Funcky.Extensions.ListExtensions.FindLastIndexOrNone(this System.Collections.Generic.List! list, int startIndex, int count, System.Predicate! match) -> Funcky.Monads.Option +static Funcky.Extensions.ListExtensions.FindLastIndexOrNone(this System.Collections.Generic.List! list, int startIndex, System.Predicate! match) -> Funcky.Monads.Option +static Funcky.Extensions.ListExtensions.FindLastIndexOrNone(this System.Collections.Generic.List! list, System.Predicate! match) -> Funcky.Monads.Option static Funcky.Extensions.ListExtensions.IndexOfOrNone(this System.Collections.Generic.IList! list, TValue value) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseAuthenticationHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseBigIntegerOrNone(this string? candidate) -> Funcky.Monads.Option @@ -370,10 +389,14 @@ static Funcky.Extensions.ParseExtensions.ParseBooleanOrNone(this System.ReadOnly static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this string? candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this string? candidate, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this string? candidate, 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.ParseByteOrNone(this System.ReadOnlySpan candidate, 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.ParseByteOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseCacheControlHeaderValueOrNone(this string? candidate) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseCharOrNone(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 @@ -397,12 +420,18 @@ static Funcky.Extensions.ParseExtensions.ParseDateTimeOrNone(this System.ReadOnl static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this string? candidate) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this string? candidate, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(this string? candidate, 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.ParseDecimalOrNone(this System.ReadOnlySpan candidate, 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.ParseDecimalOrNone(this System.ReadOnlySpan candidate, 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 style, System.IFormatProvider? provider) -> Funcky.Monads.Option static Funcky.Extensions.ParseExtensions.ParseDoubleOrNone(this string? candidate, 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.ParseDoubleOrNone(this System.ReadOnlySpan candidate, 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.ParseDoubleOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option @@ -456,18 +485,27 @@ static Funcky.Extensions.ParseExtensions.ParseGuidOrNone(this System.ReadOnlySpa 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 string? candidate, 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.ParseInt16OrNone(this System.ReadOnlySpan candidate, 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.ParseInt16OrNone(this System.ReadOnlySpan candidate, 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 string? candidate, 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.ParseInt32OrNone(this System.ReadOnlySpan candidate, 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.ParseInt32OrNone(this System.ReadOnlySpan candidate, 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 string? candidate, 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.ParseInt64OrNone(this System.ReadOnlySpan candidate, 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.ParseInt64OrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option @@ -479,6 +517,11 @@ static Funcky.Extensions.ParseExtensions.ParseMediaTypeHeaderValueOrNone(this st 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.ParseNumberOrNone(this string! value, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseNumberOrNone(this System.ReadOnlySpan value, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseOrNone(this string? value, System.IFormatProvider? provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseOrNone(this System.ReadOnlySpan utf8Text, System.IFormatProvider? provider) -> Funcky.Monads.Option +static Funcky.Extensions.ParseExtensions.ParseOrNone(this System.ReadOnlySpan value, System.IFormatProvider? provider) -> 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 @@ -487,12 +530,18 @@ static Funcky.Extensions.ParseExtensions.ParseRetryConditionHeaderValueOrNone(th 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 string? candidate, 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.ParseSByteOrNone(this System.ReadOnlySpan candidate, 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.ParseSByteOrNone(this System.ReadOnlySpan candidate, 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 string? candidate, 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.ParseSingleOrNone(this System.ReadOnlySpan candidate, 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.ParseSingleOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option @@ -512,18 +561,27 @@ static Funcky.Extensions.ParseExtensions.ParseTransferCodingWithQualityHeaderVal 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 string? candidate, 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.ParseUInt16OrNone(this System.ReadOnlySpan candidate, 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.ParseUInt16OrNone(this System.ReadOnlySpan candidate, 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 string? candidate, 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.ParseUInt32OrNone(this System.ReadOnlySpan candidate, 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.ParseUInt32OrNone(this System.ReadOnlySpan candidate, 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 string? candidate, 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.ParseUInt64OrNone(this System.ReadOnlySpan candidate, 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.ParseUInt64OrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option @@ -558,6 +616,7 @@ static Funcky.Extensions.StreamExtensions.GetPositionOrNone(this System.IO.Strea static Funcky.Extensions.StreamExtensions.GetReadTimeoutOrNone(this System.IO.Stream! stream) -> Funcky.Monads.Option static Funcky.Extensions.StreamExtensions.GetWriteTimeoutOrNone(this System.IO.Stream! stream) -> Funcky.Monads.Option static Funcky.Extensions.StreamExtensions.ReadByteOrNone(this System.IO.Stream! stream) -> Funcky.Monads.Option +static Funcky.Extensions.StringExtensions.Chunk(this string! source, int size) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.StringExtensions.IndexOfAnyOrNone(this string! haystack, char[]! anyOf) -> Funcky.Monads.Option static Funcky.Extensions.StringExtensions.IndexOfAnyOrNone(this string! haystack, char[]! anyOf, int startIndex) -> Funcky.Monads.Option static Funcky.Extensions.StringExtensions.IndexOfAnyOrNone(this string! haystack, char[]! anyOf, int startIndex, int count) -> Funcky.Monads.Option @@ -583,6 +642,7 @@ static Funcky.Extensions.StringExtensions.LastIndexOfOrNone(this string! haystac static Funcky.Extensions.StringExtensions.LastIndexOfOrNone(this string! haystack, string! value, int startIndex, int count, System.StringComparison comparisonType) -> Funcky.Monads.Option static Funcky.Extensions.StringExtensions.LastIndexOfOrNone(this string! haystack, string! value, int startIndex, System.StringComparison comparisonType) -> Funcky.Monads.Option static Funcky.Extensions.StringExtensions.LastIndexOfOrNone(this string! haystack, string! value, System.StringComparison comparisonType) -> Funcky.Monads.Option +static Funcky.Extensions.StringExtensions.SlidingWindow(this string! source, int width) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.StringExtensions.SplitLazy(this string! text, char separator) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.StringExtensions.SplitLazy(this string! text, params char[]! separators) -> System.Collections.Generic.IEnumerable! static Funcky.Extensions.StringExtensions.SplitLazy(this string! text, params string![]! separators) -> System.Collections.Generic.IEnumerable! @@ -774,4 +834,8 @@ static Funcky.Unit.operator ==(Funcky.Unit left, Funcky.Unit right) -> bool static Funcky.Unit.operator >(Funcky.Unit left, Funcky.Unit right) -> bool static Funcky.Unit.operator >=(Funcky.Unit left, Funcky.Unit right) -> bool static Funcky.Unit.Value.get -> Funcky.Unit +static Funcky.UpCast.From(System.Lazy! lazy) -> System.Lazy! +static Funcky.UpCast.From(Funcky.Monads.Option option) -> Funcky.Monads.Option +static Funcky.UpCast.From(Funcky.Monads.Either either) -> Funcky.Monads.Either +static Funcky.UpCast.From(Funcky.Monads.Result result) -> Funcky.Monads.Result static readonly Funcky.Discard.__ -> Funcky.Unit diff --git a/Funcky/PublicAPI.Unshipped.txt b/Funcky/PublicAPI.Unshipped.txt index 596cbdff..074c6ad1 100644 --- a/Funcky/PublicAPI.Unshipped.txt +++ b/Funcky/PublicAPI.Unshipped.txt @@ -1,65 +1,2 @@ #nullable enable -Funcky.Extensions.EnumeratorExtensions -Funcky.Monads.Either.InspectLeft(System.Action! inspector) -> Funcky.Monads.Either -Funcky.Monads.Either.OrElse(Funcky.Monads.Either fallback) -> Funcky.Monads.Either -Funcky.Monads.Either.OrElse(System.Func>! fallback) -> Funcky.Monads.Either -Funcky.Monads.Option.InspectNone(System.Action! inspector) -> Funcky.Monads.Option -Funcky.Monads.Result.GetOrElse(System.Func! fallback) -> TValidResult -Funcky.Monads.Result.GetOrElse(TValidResult fallback) -> TValidResult -Funcky.Monads.Result.InspectError(System.Action! inspector) -> Funcky.Monads.Result -Funcky.Monads.Result.OrElse(Funcky.Monads.Result fallback) -> Funcky.Monads.Result -Funcky.Monads.Result.OrElse(System.Func>! fallback) -> Funcky.Monads.Result -Funcky.UpCast -static Funcky.Extensions.EnumerableExtensions.InspectEmpty(this System.Collections.Generic.IEnumerable! source, System.Action! inspector) -> System.Collections.Generic.IEnumerable! -static Funcky.Extensions.EnumeratorExtensions.MoveNextOrNone(this System.Collections.Generic.IEnumerator! enumerator) -> Funcky.Monads.Option -static Funcky.Extensions.ListExtensions.FindIndexOrNone(this System.Collections.Generic.List! list, int startIndex, int count, System.Predicate! match) -> Funcky.Monads.Option -static Funcky.Extensions.ListExtensions.FindIndexOrNone(this System.Collections.Generic.List! list, int startIndex, System.Predicate! match) -> Funcky.Monads.Option -static Funcky.Extensions.ListExtensions.FindIndexOrNone(this System.Collections.Generic.List! list, System.Predicate! match) -> Funcky.Monads.Option -static Funcky.Extensions.ListExtensions.FindLastIndexOrNone(this System.Collections.Generic.List! list, int startIndex, int count, System.Predicate! match) -> Funcky.Monads.Option -static Funcky.Extensions.ListExtensions.FindLastIndexOrNone(this System.Collections.Generic.List! list, int startIndex, System.Predicate! match) -> Funcky.Monads.Option -static Funcky.Extensions.ListExtensions.FindLastIndexOrNone(this System.Collections.Generic.List! list, System.Predicate! match) -> 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.ParseByteOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseByteOrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseCharOrNone(this string? 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.ParseDecimalOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDecimalOrNone(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.ParseDoubleOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseDoubleOrNone(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.ParseInt16OrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt16OrNone(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.ParseInt32OrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt32OrNone(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.ParseInt64OrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseInt64OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseNumberOrNone(this string! value, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseNumberOrNone(this System.ReadOnlySpan value, System.Globalization.NumberStyles style, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseOrNone(this string? value, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseOrNone(this System.ReadOnlySpan value, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseOrNone(this System.ReadOnlySpan utf8Text, System.IFormatProvider? provider) -> 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 System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSByteOrNone(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.ParseSingleOrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseSingleOrNone(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.ParseUInt16OrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt16OrNone(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.ParseUInt32OrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt32OrNone(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.ParseUInt64OrNone(this System.ReadOnlySpan candidate, System.IFormatProvider? provider) -> Funcky.Monads.Option -static Funcky.Extensions.ParseExtensions.ParseUInt64OrNone(this System.ReadOnlySpan candidate) -> Funcky.Monads.Option -static Funcky.Extensions.StringExtensions.Chunk(this string! source, int size) -> System.Collections.Generic.IEnumerable! -static Funcky.Extensions.StringExtensions.SlidingWindow(this string! source, int width) -> System.Collections.Generic.IEnumerable! -static Funcky.UpCast.From(System.Lazy! lazy) -> System.Lazy! -static Funcky.UpCast.From(Funcky.Monads.Option option) -> Funcky.Monads.Option -static Funcky.UpCast.From(Funcky.Monads.Either either) -> Funcky.Monads.Either -static Funcky.UpCast.From(Funcky.Monads.Result result) -> Funcky.Monads.Result + diff --git a/changelog.md b/changelog.md index 73c72d13..ae6c8fb7 100644 --- a/changelog.md +++ b/changelog.md @@ -2,6 +2,56 @@ 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). +## Funcky 3.4.0 | Funcky.Async 1.3.0 | Funcky.XUnit 2.0.2 + +This update is mainly to update to .NET 8 but also has several smaller improvements. + +### Native AOT + +Both Funcky and Funcky.Async have been annotated to be compatible with [Native AOT](https://learn.microsoft.com/en-gb/dotnet/core/deploying/native-aot). +The only exception is `OptionJsonSerializer` which is not compatible with Native AOT. + +### .NET 8 + +We use the new C#12 and .NET features in the code, and expose new features through our API. + +* .NET 8 added new overloads to their `TryParse` APIs. These changes are reflected in Funcky's `ParseOrNone` APIs. + * `ParseByteOrNone` overloads with `ReadOnlySpan` and `string?` + * `ParseSByteOrNone` overloads with `ReadOnlySpan` + * `ParseSingleOrNone` overloads with `ReadOnlySpan` + * `ParseDoubleOrNone` overloads with `ReadOnlySpan` + * `ParseDecimalOrNone` overloads with `ReadOnlySpan` + * `ParseInt16OrNone` overloads with `ReadOnlySpan` + * `ParseInt32OrNone` overloads with `ReadOnlySpan` + * `ParseInt64OrNone` overloads with `ReadOnlySpan` + * `ParseUInt16OrNone` overloads with `ReadOnlySpan` + * `ParseUInt32OrNone` overloads with `ReadOnlySpan` + * `ParseUInt64OrNone` overloads with `ReadOnlySpan` + * `ParseNumberOrNone` overloads + * `ParseOrNone` overloads + +### String Extensions + +We implemented a few of the IEnumerable extensions which are very useful on strings. + +* `Chunk` on `string`. +* `SlidingWindow` on `string`. + +### Monads + +* Implemented `UpCast` for the monds `Option`, `Either`, `Result` and `System.Lazy`. +* Implemented `InspectEmpty` on `IEnumerable` and `IAsyncEnumerable` +* Implemented `ToAsyncEnumerable` extension on `Option` + +### IEnumerator + +* `MoveNextOrNone` extension on `IEnumerator` + +### Consistency + +* `FindIndexOrNone` and `FindLastIndexOrNone` extensions on `List` + + ## Funcky 3.3.0 | Funcky.Analyzers 1.3.0 | Funcky.Xunit 2.0.1 This is a relatively minor release focuses on convenience for our monads `Option`, `Either` and `Result`. @@ -17,6 +67,10 @@ All three alternative monads `Option`, `Either` and `Result` now support inspect These methods are particularly useful for logging warnings/errors. +### Funcky.XUnit + +* Funcky.XUnit is only compatible with XUnit 2.4, this is now correctly declared. + ## Funcky 3.2.0 | Funcky.Async 1.2.0 ### List Pattern for Option We've added support for C# 11's List Patterns to `Option`.