Releases: atifaziz/Optuple
2.1.0
What's New
- Extension methods for a sequences:
FirstOrNone: likeFirstOrDefaultbut returns an optionLastOrNone: likeLastOrDefaultbut returns an optionSingleOrNone: likeSingleOrDefaultbut 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)
ToOptionextension 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:
SomeNone<>SomeWhenNoneWhen
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.