Skip to main content

ResultEnumerableExtensions

Namespace: Bogoware.Monads

public static class ResultEnumerableExtensions

Inheritance ObjectResultEnumerableExtensions
Attributes NullableContextAttribute, NullableAttribute, ExtensionAttribute

Methods

Where<TValue>(IEnumerable<Result<TValue>>, Func<TValue, Boolean>)

Filters Successes via the predicate. Failures are discarded.

public static IEnumerable<Result<TValue>> Where<TValue>(IEnumerable<Result<TValue>> successes, Func<TValue, bool> predicate)

Type Parameters

TValue

Parameters

successes IEnumerable<Result<TValue>>

predicate Func<TValue, Boolean>

Returns

IEnumerable<Result<TValue>>

WhereNot<TValue>(IEnumerable<Result<TValue>>, Func<TValue, Boolean>)

Filters Successes via negated predicate. Failures are discarded.

public static IEnumerable<Result<TValue>> WhereNot<TValue>(IEnumerable<Result<TValue>> successes, Func<TValue, bool> predicate)

Type Parameters

TValue

Parameters

successes IEnumerable<Result<TValue>>

predicate Func<TValue, Boolean>

Returns

IEnumerable<Result<TValue>>

AllSuccess(IEnumerable<IResult>)

Determines if all Result<TValue>s of a sequence are Successs.

public static bool AllSuccess(IEnumerable<IResult> successes)

Parameters

successes IEnumerable<IResult>

Returns

Boolean

AllSuccess<TValue>(IEnumerable<Result<TValue>>)

public static bool AllSuccess<TValue>(IEnumerable<Result<TValue>> successes)

Type Parameters

TValue

Parameters

successes IEnumerable<Result<TValue>>

Returns

Boolean

AllFailure(IEnumerable<IResult>)

Determines if all Result<TValue>s of a sequence are Failures.

public static bool AllFailure(IEnumerable<IResult> successes)

Parameters

successes IEnumerable<IResult>

Returns

Boolean

AllFailure<TValue>(IEnumerable<Result<TValue>>)

public static bool AllFailure<TValue>(IEnumerable<Result<TValue>> successes)

Type Parameters

TValue

Parameters

successes IEnumerable<Result<TValue>>

Returns

Boolean

AnySuccess(IEnumerable<IResult>)

Determines if any Result<TValue> of a sequence is Success.

public static bool AnySuccess(IEnumerable<IResult> successes)

Parameters

successes IEnumerable<IResult>

Returns

Boolean

AnySuccess<TValue>(IEnumerable<Result<TValue>>)

public static bool AnySuccess<TValue>(IEnumerable<Result<TValue>> successes)

Type Parameters

TValue

Parameters

successes IEnumerable<Result<TValue>>

Returns

Boolean

AnyFailure(IEnumerable<IResult>)

Determines if any Result<TValue> of a sequence is Failure.

public static bool AnyFailure(IEnumerable<IResult> successes)

Parameters

successes IEnumerable<IResult>

Returns

Boolean

AnyFailure<TValue>(IEnumerable<Result<TValue>>)

public static bool AnyFailure<TValue>(IEnumerable<Result<TValue>> successes)

Type Parameters

TValue

Parameters

successes IEnumerable<Result<TValue>>

Returns

Boolean

SelectValues<TValue>(IEnumerable<Result<TValue>>)

Extract values from Result<TValue>s. Failures are discarded.

public static IEnumerable<TValue> SelectValues<TValue>(IEnumerable<Result<TValue>> successes)

Type Parameters

TValue

Parameters

successes IEnumerable<Result<TValue>>

Returns

IEnumerable<TValue>

MapEach<TValue, TNewValue>(IEnumerable<Result<TValue>>, Func<TValue, TNewValue>)

Maps values via the functor.

public static IEnumerable<Result<TNewValue>> MapEach<TValue, TNewValue>(IEnumerable<Result<TValue>> results, Func<TValue, TNewValue> functor)

Type Parameters

TValue

TNewValue

Parameters

results IEnumerable<Result<TValue>>

functor Func<TValue, TNewValue>

Returns

IEnumerable<Result<TNewValue>>

BindEach<TValue, TNewValue>(IEnumerable<Result<TValue>>, Func<TValue, Result<TNewValue>>)

Bind values via the functor.

public static IEnumerable<Result<TNewValue>> BindEach<TValue, TNewValue>(IEnumerable<Result<TValue>> results, Func<TValue, Result<TNewValue>> functor)

Type Parameters

TValue

TNewValue

Parameters

results IEnumerable<Result<TValue>>

functor Func<TValue, Result<TNewValue>>

Returns

IEnumerable<Result<TNewValue>>

MatchEach<TValue, TResult>(IEnumerable<Result<TValue>>, Func<TValue, TResult>, Func<Error, TResult>)

Matches results.

public static IEnumerable<TResult> MatchEach<TValue, TResult>(IEnumerable<Result<TValue>> results, Func<TValue, TResult> mapSuccesses, Func<Error, TResult> mapFailures)

Type Parameters

TValue

TResult

Parameters

results IEnumerable<Result<TValue>>

mapSuccesses Func<TValue, TResult>

mapFailures Func<Error, TResult>

Returns

IEnumerable<TResult>

MatchEach<TValue, TResult>(IEnumerable<Result<TValue>>, Func<TValue, TResult>, TResult)

public static IEnumerable<TResult> MatchEach<TValue, TResult>(IEnumerable<Result<TValue>> results, Func<TValue, TResult> mapSuccesses, TResult failure)

Type Parameters

TValue

TResult

Parameters

results IEnumerable<Result<TValue>>

mapSuccesses Func<TValue, TResult>

failure TResult

Returns

IEnumerable<TResult>

AggregateResults<TValue>(IEnumerable<Result<TValue>>)

Aggregates an enumeration of Result into a Result of an enumeration. If all Result<TValue>s are Success then return a SuccessResult<TValue>. otherwise return a Failure with an AggregateError.

public static Result<IEnumerable<TValue>> AggregateResults<TValue>(IEnumerable<Result<TValue>> results)

Type Parameters

TValue

Parameters

results IEnumerable<Result<TValue>>

Returns

Result<IEnumerable<TValue>>