Class EitherExtensions
- Namespace
- LfrlAnvil.Functional.Extensions
- Assembly
- LfrlAnvil.Functional.dll
Contains Either<T1, T2> extension methods.
public static class EitherExtensions
- Inheritance
-
EitherExtensions
- Inherited Members
Methods
Reduce<T1, T2>(Either<Either<T1, T2>, Either<T1, T2>>)
Creates a new Either<T1, T2> instance.
[Pure]
public static Either<T1, T2> Reduce<T1, T2>(this Either<Either<T1, T2>, Either<T1, T2>> source)
Parameters
Returns
- Either<T1, T2>
New Either<T1, T2> instance equivalent to the first value of
source
when HasFirst ofsource
is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value ofsource
.
Type Parameters
T1
First either type.
T2
Second either type.
Reduce<T1, T2>(Either<Either<T1, T2>, T1>)
Creates a new Either<T1, T2> instance.
[Pure]
public static Either<T1, T2> Reduce<T1, T2>(this Either<Either<T1, T2>, T1> source)
Parameters
Returns
- Either<T1, T2>
New Either<T1, T2> instance equivalent to the first value of
source
when HasFirst ofsource
is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value ofsource
.
Type Parameters
T1
First either type.
T2
Second either type.
Reduce<T1, T2>(Either<Either<T1, T2>, T2>)
Creates a new Either<T1, T2> instance.
[Pure]
public static Either<T1, T2> Reduce<T1, T2>(this Either<Either<T1, T2>, T2> source)
Parameters
Returns
- Either<T1, T2>
New Either<T1, T2> instance equivalent to the first value of
source
when HasFirst ofsource
is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value ofsource
.
Type Parameters
T1
First either type.
T2
Second either type.
Reduce<T1, T2>(Either<T1, Either<T1, T2>>)
Creates a new Either<T1, T2> instance.
[Pure]
public static Either<T1, T2> Reduce<T1, T2>(this Either<T1, Either<T1, T2>> source)
Parameters
Returns
- Either<T1, T2>
New Either<T1, T2> instance equivalent to the first value of
source
when HasFirst ofsource
is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value ofsource
.
Type Parameters
T1
First either type.
T2
Second either type.
Reduce<T1, T2>(Either<T2, Either<T1, T2>>)
Creates a new Either<T1, T2> instance.
[Pure]
public static Either<T1, T2> Reduce<T1, T2>(this Either<T2, Either<T1, T2>> source)
Parameters
Returns
- Either<T1, T2>
New Either<T1, T2> instance equivalent to the first value of
source
when HasFirst ofsource
is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value ofsource
.
Type Parameters
T1
First either type.
T2
Second either type.
ToErratic<T>(Either<T, Exception>)
Creates a new Erratic<T> instance.
[Pure]
public static Erratic<T> ToErratic<T>(this Either<T, Exception> source)
Parameters
Returns
- Erratic<T>
New Erratic<T> instance equivalent to the first value of
source
when HasFirst ofsource
is equal to true otherwise a new Erratic<T> instance equivalent to the second value ofsource
.
Type Parameters
T
First either type.
ToMaybe<T1, T2>(Either<T1, T2>)
Creates a new Maybe<T> instance.
[Pure]
public static Maybe<T1> ToMaybe<T1, T2>(this Either<T1, T2> source) where T1 : notnull
Parameters
source
Either<T1, T2>Source either.
Returns
- Maybe<T1>
New Maybe<T> instance equivalent to the first value of
source
or None when HasFirst ofsource
is equal to false.
Type Parameters
T1
First either type.
T2
Second either type.