Class EnsureExtensionsAsync
- Namespace
- Trellis
- Assembly
- Trellis.Results.dll
Async Ensure extensions where BOTH input and predicates are async (Task).
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<TValue>(Task<Result<TValue>>, Func<bool>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<bool> predicate, Error error)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<bool>The predicate to test.
errorErrorThe error to return if the predicate is false.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<Task<Result<TValue>>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<Task<Result<TValue>>> predicate)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<Task<Result<TValue>>>The async predicate function that returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<Result<TValue>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<Result<TValue>> predicate)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<Result<TValue>>The predicate function that returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<TValue, bool>, Func<TValue, Task<Error>>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result. The error is generated asynchronously.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, bool> predicate, Func<TValue, Task<Error>> errorPredicate)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<TValue, bool>The predicate function to test the value.
errorPredicateFunc<TValue, Task<Error>>The async function that generates an error from the value.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<TValue, bool>, Func<TValue, Error>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, bool> predicate, Func<TValue, Error> errorPredicate)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<TValue, bool>The predicate function to test the value.
errorPredicateFunc<TValue, Error>The function that generates an error from the value.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<TValue, bool>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, bool> predicate, Error error)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<TValue, bool>The predicate function to test the value.
errorErrorThe error to return if the predicate is false.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<TValue, Task<bool>>, Func<TValue, Task<Error>>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, Task<bool>> predicate, Func<TValue, Task<Error>> errorPredicate)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<TValue, Task<bool>>The async predicate to test the value.
errorPredicateFunc<TValue, Task<Error>>The async function that generates an error from the value.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<TValue, Task<bool>>, Func<TValue, Error>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, Task<bool>> predicate, Func<TValue, Error> errorPredicate)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<TValue, Task<bool>>The async predicate to test the value.
errorPredicateFunc<TValue, Error>The function that generates an error from the value.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<TValue, Task<bool>>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, Task<bool>> predicate, Error error)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<TValue, Task<bool>>The async predicate to test the value.
errorErrorThe error to return if the predicate is false.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<TValue, Task<Result<TValue>>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, Task<Result<TValue>>> predicate)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<TValue, Task<Result<TValue>>>The async predicate function that receives the value and returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Task<Result<TValue>>, Func<TValue, Result<TValue>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Task<Result<TValue>> resultTask, Func<TValue, Result<TValue>> predicate)
Parameters
resultTaskTask<Result<TValue>>The task containing the result to validate.
predicateFunc<TValue, Result<TValue>>The predicate function that receives the value and returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<bool>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<bool> predicate, Error error)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<bool>The predicate to test.
errorErrorThe error to return if the predicate is false.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<ValueTask<Result<TValue>>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<ValueTask<Result<TValue>>> predicate)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<ValueTask<Result<TValue>>>The async predicate function that returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<Result<TValue>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<Result<TValue>> predicate)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<Result<TValue>>The predicate function that returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<TValue, bool>, Func<TValue, ValueTask<Error>>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<TValue, bool> predicate, Func<TValue, ValueTask<Error>> errorPredicate)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<TValue, bool>The predicate to test the value.
errorPredicateFunc<TValue, ValueTask<Error>>The async function that generates an error from the value.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<TValue, bool>, Func<TValue, Error>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<TValue, bool> predicate, Func<TValue, Error> errorPredicate)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<TValue, bool>The predicate to test the value.
errorPredicateFunc<TValue, Error>The function that generates an error from the value.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<TValue, bool>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<TValue, bool> predicate, Error error)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<TValue, bool>The predicate to test the value.
errorErrorThe error to return if the predicate is false.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<TValue, ValueTask<bool>>, Func<TValue, ValueTask<Error>>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<TValue, ValueTask<bool>> predicate, Func<TValue, ValueTask<Error>> errorPredicate)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<TValue, ValueTask<bool>>The async predicate to test the value.
errorPredicateFunc<TValue, ValueTask<Error>>The async function that generates an error from the value.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<TValue, ValueTask<bool>>, Func<TValue, Error>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<TValue, ValueTask<bool>> predicate, Func<TValue, Error> errorPredicate)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<TValue, ValueTask<bool>>The async predicate to test the value.
errorPredicateFunc<TValue, Error>The function that generates an error from the value.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<TValue, ValueTask<bool>>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<TValue, ValueTask<bool>> predicate, Error error)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<TValue, ValueTask<bool>>The async predicate to test the value.
errorErrorThe error to return if the predicate is false.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<TValue, ValueTask<Result<TValue>>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<TValue, ValueTask<Result<TValue>>> predicate)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<TValue, ValueTask<Result<TValue>>>The async predicate function that receives the value and returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(ValueTask<Result<TValue>>, Func<TValue, Result<TValue>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this ValueTask<Result<TValue>> resultTask, Func<TValue, Result<TValue>> predicate)
Parameters
resultTaskValueTask<Result<TValue>>The async result to validate.
predicateFunc<TValue, Result<TValue>>The predicate function that receives the value and returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<Task<bool>>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<Task<bool>> predicate, Error error)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<Task<bool>>The async predicate to test.
errorErrorThe error to return if the predicate is false.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<Task<Result<TValue>>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<Task<Result<TValue>>> predicate)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<Task<Result<TValue>>>The async predicate function that returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<ValueTask<bool>>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<ValueTask<bool>> predicate, Error error)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<ValueTask<bool>>The async predicate to test.
errorErrorThe error to return if the predicate is false.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<ValueTask<Result<TValue>>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<ValueTask<Result<TValue>>> predicate)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<ValueTask<Result<TValue>>>The async predicate function that returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<TValue, Task<bool>>, Func<TValue, Task<Error>>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<TValue, Task<bool>> predicate, Func<TValue, Task<Error>> errorPredicate)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<TValue, Task<bool>>The async predicate to test the value.
errorPredicateFunc<TValue, Task<Error>>The async function that generates an error from the value.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<TValue, Task<bool>>, Func<TValue, Error>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<TValue, Task<bool>> predicate, Func<TValue, Error> errorPredicate)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<TValue, Task<bool>>The async predicate to test the value.
errorPredicateFunc<TValue, Error>The function that generates an error from the value.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<TValue, Task<bool>>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<TValue, Task<bool>> predicate, Error error)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<TValue, Task<bool>>The async predicate to test the value.
errorErrorThe error to return if the predicate is false.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<TValue, Task<Result<TValue>>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static Task<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<TValue, Task<Result<TValue>>> predicate)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<TValue, Task<Result<TValue>>>The async predicate function that receives the value and returns a Result.
Returns
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<TValue, ValueTask<bool>>, Func<TValue, ValueTask<Error>>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<TValue, ValueTask<bool>> predicate, Func<TValue, ValueTask<Error>> errorPredicate)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<TValue, ValueTask<bool>>The async predicate to test the value.
errorPredicateFunc<TValue, ValueTask<Error>>The async function that generates an error from the value.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<TValue, ValueTask<bool>>, Func<TValue, Error>)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<TValue, ValueTask<bool>> predicate, Func<TValue, Error> errorPredicate)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<TValue, ValueTask<bool>>The async predicate to test the value.
errorPredicateFunc<TValue, Error>The function that generates an error from the value.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<TValue, ValueTask<bool>>, Error)
Returns a new failure result if the predicate is false. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<TValue, ValueTask<bool>> predicate, Error error)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<TValue, ValueTask<bool>>The async predicate to test the value.
errorErrorThe error to return if the predicate is false.
Returns
- ValueTask<Result<TValue>>
The original result if success and predicate is true; otherwise a failure.
Type Parameters
TValueType of the result value.
EnsureAsync<TValue>(Result<TValue>, Func<TValue, ValueTask<Result<TValue>>>)
Returns a new failure result if the predicate result is a failure. Otherwise returns the starting result.
public static ValueTask<Result<TValue>> EnsureAsync<TValue>(this Result<TValue> result, Func<TValue, ValueTask<Result<TValue>>> predicate)
Parameters
resultResult<TValue>The result to validate.
predicateFunc<TValue, ValueTask<Result<TValue>>>The async predicate function that receives the value and returns a Result.
Returns
Type Parameters
TValueType of the result value.