Table of Contents

Class EnsureExtensionsAsync

Namespace
FunctionalDdd
Assembly
FunctionalDdd.RailwayOrientedProgramming.dll

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static class EnsureExtensionsAsync
Inheritance
EnsureExtensionsAsync
Inherited Members

Examples

var ct = cancellationToken;
await result.EnsureAsync(
    value => ValidateAsync(value, ct),
    Error.Validation("Invalid")
);

Remarks

Users should capture CancellationToken in their lambda closures when cancellation support is needed.

Methods

EnsureAsync<TOk>(Result<TOk>, Func<Task<Result<TOk>>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<Task<Result<TOk>>> predicate)

Parameters

result Result<TOk>
predicate Func<Task<Result<TOk>>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<Task<bool>>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<Task<bool>> predicate, Error errorMessage)

Parameters

result Result<TOk>
predicate Func<Task<bool>>
errorMessage Error

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<ValueTask<Result<TOk>>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<ValueTask<Result<TOk>>> predicate)

Parameters

result Result<TOk>
predicate Func<ValueTask<Result<TOk>>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<ValueTask<bool>>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<ValueTask<bool>> predicate, Error errorMessage)

Parameters

result Result<TOk>
predicate Func<ValueTask<bool>>
errorMessage Error

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<TOk, Task<Result<TOk>>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<TOk, Task<Result<TOk>>> predicate)

Parameters

result Result<TOk>
predicate Func<TOk, Task<Result<TOk>>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<TOk, Task<bool>>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<TOk, Task<bool>> predicate, Error errorMessage)

Parameters

result Result<TOk>
predicate Func<TOk, Task<bool>>
errorMessage Error

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<TOk, Task<bool>>, Func<TOk, Error>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<TOk, Task<bool>> predicate, Func<TOk, Error> errorPredicate)

Parameters

result Result<TOk>
predicate Func<TOk, Task<bool>>
errorPredicate Func<TOk, Error>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<TOk, Task<bool>>, Func<TOk, Task<Error>>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<TOk, Task<bool>> predicate, Func<TOk, Task<Error>> errorPredicate)

Parameters

result Result<TOk>
predicate Func<TOk, Task<bool>>
errorPredicate Func<TOk, Task<Error>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<TOk, ValueTask<Result<TOk>>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<TOk, ValueTask<Result<TOk>>> predicate)

Parameters

result Result<TOk>
predicate Func<TOk, ValueTask<Result<TOk>>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<TOk, ValueTask<bool>>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<TOk, ValueTask<bool>> predicate, Error errorMessage)

Parameters

result Result<TOk>
predicate Func<TOk, ValueTask<bool>>
errorMessage Error

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<TOk, ValueTask<bool>>, Func<TOk, Error>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<TOk, ValueTask<bool>> predicate, Func<TOk, Error> errorPredicate)

Parameters

result Result<TOk>
predicate Func<TOk, ValueTask<bool>>
errorPredicate Func<TOk, Error>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Result<TOk>, Func<TOk, ValueTask<bool>>, Func<TOk, ValueTask<Error>>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this Result<TOk> result, Func<TOk, ValueTask<bool>> predicate, Func<TOk, ValueTask<Error>> errorPredicate)

Parameters

result Result<TOk>
predicate Func<TOk, ValueTask<bool>>
errorPredicate Func<TOk, ValueTask<Error>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<Result<TOk>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<Result<TOk>> predicate)

Parameters

resultTask Task<Result<TOk>>
predicate Func<Result<TOk>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<bool>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<bool> predicate, Error errorMessage)

Parameters

resultTask Task<Result<TOk>>
predicate Func<bool>
errorMessage Error

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<Task<Result<TOk>>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<Task<Result<TOk>>> predicate)

Parameters

resultTask Task<Result<TOk>>
predicate Func<Task<Result<TOk>>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<TOk, Result<TOk>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<TOk, Result<TOk>> predicate)

Parameters

resultTask Task<Result<TOk>>
predicate Func<TOk, Result<TOk>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<TOk, bool>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<TOk, bool> predicate, Error errorMessage)

Parameters

resultTask Task<Result<TOk>>
predicate Func<TOk, bool>
errorMessage Error

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<TOk, bool>, Func<TOk, Error>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<TOk, bool> predicate, Func<TOk, Error> errorPredicate)

Parameters

resultTask Task<Result<TOk>>
predicate Func<TOk, bool>
errorPredicate Func<TOk, Error>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<TOk, bool>, Func<TOk, Task<Error>>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<TOk, bool> predicate, Func<TOk, Task<Error>> errorPredicate)

Parameters

resultTask Task<Result<TOk>>
predicate Func<TOk, bool>
errorPredicate Func<TOk, Task<Error>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<TOk, Task<Result<TOk>>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<TOk, Task<Result<TOk>>> predicate)

Parameters

resultTask Task<Result<TOk>>
predicate Func<TOk, Task<Result<TOk>>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<TOk, Task<bool>>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<TOk, Task<bool>> predicate, Error errors)

Parameters

resultTask Task<Result<TOk>>
predicate Func<TOk, Task<bool>>
errors Error

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<TOk, Task<bool>>, Func<TOk, Error>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<TOk, Task<bool>> predicate, Func<TOk, Error> errorPredicate)

Parameters

resultTask Task<Result<TOk>>
predicate Func<TOk, Task<bool>>
errorPredicate Func<TOk, Error>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(Task<Result<TOk>>, Func<TOk, Task<bool>>, Func<TOk, Task<Error>>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static Task<Result<TOk>> EnsureAsync<TOk>(this Task<Result<TOk>> resultTask, Func<TOk, Task<bool>> predicate, Func<TOk, Task<Error>> errorPredicate)

Parameters

resultTask Task<Result<TOk>>
predicate Func<TOk, Task<bool>>
errorPredicate Func<TOk, Task<Error>>

Returns

Task<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<Result<TOk>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<Result<TOk>> predicate)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<Result<TOk>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<bool>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<bool> predicate, Error errorMessage)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<bool>
errorMessage Error

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<ValueTask<Result<TOk>>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<ValueTask<Result<TOk>>> predicate)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<ValueTask<Result<TOk>>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<TOk, Result<TOk>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<TOk, Result<TOk>> predicate)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<TOk, Result<TOk>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<TOk, bool>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<TOk, bool> predicate, Error errorMessage)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<TOk, bool>
errorMessage Error

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<TOk, bool>, Func<TOk, Error>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<TOk, bool> predicate, Func<TOk, Error> errorPredicate)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<TOk, bool>
errorPredicate Func<TOk, Error>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<TOk, bool>, Func<TOk, ValueTask<Error>>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<TOk, bool> predicate, Func<TOk, ValueTask<Error>> errorPredicate)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<TOk, bool>
errorPredicate Func<TOk, ValueTask<Error>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<TOk, ValueTask<Result<TOk>>>)

Returns a new failure result if the predicate is a failure result. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<TOk, ValueTask<Result<TOk>>> predicate)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<TOk, ValueTask<Result<TOk>>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<TOk, ValueTask<bool>>, Error)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<TOk, ValueTask<bool>> predicate, Error errors)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<TOk, ValueTask<bool>>
errors Error

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<TOk, ValueTask<bool>>, Func<TOk, Error>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<TOk, ValueTask<bool>> predicate, Func<TOk, Error> errorPredicate)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<TOk, ValueTask<bool>>
errorPredicate Func<TOk, Error>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk

EnsureAsync<TOk>(ValueTask<Result<TOk>>, Func<TOk, ValueTask<bool>>, Func<TOk, ValueTask<Error>>)

Returns a new failure result if the predicate is false. Otherwise returns the starting result.

public static ValueTask<Result<TOk>> EnsureAsync<TOk>(this ValueTask<Result<TOk>> resultTask, Func<TOk, ValueTask<bool>> predicate, Func<TOk, ValueTask<Error>> errorPredicate)

Parameters

resultTask ValueTask<Result<TOk>>
predicate Func<TOk, ValueTask<bool>>
errorPredicate Func<TOk, ValueTask<Error>>

Returns

ValueTask<Result<TOk>>

Type Parameters

TOk