Releases: atifaziz/Optuple
2.1.0
What's New
- Extension methods for a sequences:
FirstOrNone
: likeFirstOrDefault
but returns an optionLastOrNone
: likeLastOrDefault
but returns an optionSingleOrNone
: likeSingleOrDefault
but returns an option
- Extension methods for a sequence of options:
Filter
(sequence of option of x → sequence of x for some of x)ListAll
(sequence of option of x → some sequence of x if all options are some of x)
ToOption
extension forGroup
& subclasses (likeMatch
) that returns some group if group matched.
2.0.0
What's New
There is a new type called OptionModule
that is designed to be statically imported, like so:
using static Optuple.OptionModule;
This will make the following common methods available for use without type qualification:
Some
None<>
SomeWhen
NoneWhen
This permits you to, for example, simply write Some(42)
and None<int>()
instead of Option.Some(42)
and None<int>()
, respectively.
Breaking Changes
The methods below on Option
were completely redundant. They were accidentally leaked from an older design and have been removed in this release to avoid confusion.
public static (bool HasValue, T Value) From<T>((bool, T) option)
public static (bool HasValue, T Value) ToOption<T>(this (bool HasValue, T Value) option)
public static (bool HasValue, T Value) Flagged<T>(this (bool HasValue, T Value) option)
The removal of these methods is the primary reason for bumping the major version number to 2. Otherwise, all other types and their members remain unchanged.