Table of Contents

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

source Either<Either<T1, T2>, Either<T1, T2>>

Source either.

Returns

Either<T1, T2>

New Either<T1, T2> instance equivalent to the first value of source when HasFirst of source is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value of source.

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

source Either<Either<T1, T2>, T1>

Source either.

Returns

Either<T1, T2>

New Either<T1, T2> instance equivalent to the first value of source when HasFirst of source is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value of source.

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

source Either<Either<T1, T2>, T2>

Source either.

Returns

Either<T1, T2>

New Either<T1, T2> instance equivalent to the first value of source when HasFirst of source is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value of source.

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

source Either<T1, Either<T1, T2>>

Source either.

Returns

Either<T1, T2>

New Either<T1, T2> instance equivalent to the first value of source when HasFirst of source is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value of source.

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

source Either<T2, Either<T1, T2>>

Source either.

Returns

Either<T1, T2>

New Either<T1, T2> instance equivalent to the first value of source when HasFirst of source is equal to true otherwise a new Either<T1, T2> instance equivalent to the second value of source.

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

source Either<T, Exception>

Source either.

Returns

Erratic<T>

New Erratic<T> instance equivalent to the first value of source when HasFirst of source is equal to true otherwise a new Erratic<T> instance equivalent to the second value of source.

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 of source is equal to false.

Type Parameters

T1

First either type.

T2

Second either type.