2021-11-19 00:12:02 -05:00
|
|
|
|
using Microsoft.FSharp.Core;
|
|
|
|
|
|
2022-02-24 19:11:28 -05:00
|
|
|
|
namespace FruityFoundation.Base.Structures;
|
2021-11-19 00:12:02 -05:00
|
|
|
|
|
|
|
|
|
public static class MaybeExtensions
|
|
|
|
|
{
|
|
|
|
|
public static Maybe<T> FirstOrEmpty<T>(this IEnumerable<T> col) =>
|
|
|
|
|
col.FirstOrDefault() ?? Maybe<T>.Empty();
|
|
|
|
|
|
|
|
|
|
public static T? ToNullable<T>(this Maybe<T> item) where T : struct =>
|
|
|
|
|
item.HasValue ? item.Value : null;
|
|
|
|
|
|
|
|
|
|
public static FSharpOption<T> ToFSharpOption<T>(this Maybe<T> cb) =>
|
|
|
|
|
cb.HasValue
|
|
|
|
|
? FSharpOption<T>.Some(cb.Value)
|
|
|
|
|
: FSharpOption<T>.None;
|
|
|
|
|
}
|