Class ResultValidationExtensions
- Namespace
- REslava.Result.Extensions
- Assembly
- REslava.Result.dll
Extension methods for validation operations on Result types.
public static class ResultValidationExtensions
- Inheritance
-
ResultValidationExtensions
- Inherited Members
Methods
EnsureAsync<T>(Result<T>, Func<T, Task<bool>>, Error, CancellationToken)
Ensures that an async condition is met, otherwise returns a failed result.
var user = new User { Id = 123, Email = "test@example.com" };
var result = Result<User>.Ok(user);
var validated = await result
.EnsureAsync(
async u => await _db.UserExistsAsync(u.Id),
new Error("User not found in database"));
public static Task<Result<T>> EnsureAsync<T>(this Result<T> result, Func<T, Task<bool>> predicate, Error error, CancellationToken cancellationToken = default)
Parameters
Returns
Type Parameters
T
EnsureAsync<T>(Result<T>, Func<T, Task<bool>>, string, CancellationToken)
Ensures that an async condition is met, otherwise returns a failed result.
public static Task<Result<T>> EnsureAsync<T>(this Result<T> result, Func<T, Task<bool>> predicate, string errorMessage, CancellationToken cancellationToken = default)
Parameters
resultResult<T>predicateFunc<T, Task<bool>>errorMessagestringcancellationTokenCancellationToken
Returns
Type Parameters
T
EnsureAsync<T>(Task<Result<T>>, Func<T, bool>, Error, CancellationToken)
Awaits the result then ensures that a condition is met, otherwise returns a failed result.
var result = await GetUserAsync(userId)
.EnsureAsync(
user => user.IsActive,
new Error("User is not active"));
public static Task<Result<T>> EnsureAsync<T>(this Task<Result<T>> resultTask, Func<T, bool> predicate, Error error, CancellationToken cancellationToken = default)
Parameters
Returns
Type Parameters
T
EnsureAsync<T>(Task<Result<T>>, Func<T, bool>, string, CancellationToken)
Awaits the result then ensures that a condition is met, otherwise returns a failed result.
public static Task<Result<T>> EnsureAsync<T>(this Task<Result<T>> resultTask, Func<T, bool> predicate, string errorMessage, CancellationToken cancellationToken = default)
Parameters
resultTaskTask<Result<T>>predicateFunc<T, bool>errorMessagestringcancellationTokenCancellationToken
Returns
Type Parameters
T
EnsureAsync<T>(Task<Result<T>>, Func<T, Task<bool>>, Error, CancellationToken)
Awaits the result then ensures that an async condition is met, otherwise returns a failed result.
var result = await GetUserAsync(userId)
.EnsureAsync(
async user => await _userService.IsUserActiveAsync(user.Id),
new Error("User is not active"));
public static Task<Result<T>> EnsureAsync<T>(this Task<Result<T>> resultTask, Func<T, Task<bool>> predicate, Error error, CancellationToken cancellationToken = default)
Parameters
resultTaskTask<Result<T>>predicateFunc<T, Task<bool>>errorErrorcancellationTokenCancellationToken
Returns
Type Parameters
T
EnsureAsync<T>(Task<Result<T>>, Func<T, Task<bool>>, string, CancellationToken)
Awaits the result then ensures that an async condition is met, otherwise returns a failed result.
public static Task<Result<T>> EnsureAsync<T>(this Task<Result<T>> resultTask, Func<T, Task<bool>> predicate, string errorMessage, CancellationToken cancellationToken = default)
Parameters
resultTaskTask<Result<T>>predicateFunc<T, Task<bool>>errorMessagestringcancellationTokenCancellationToken
Returns
Type Parameters
T
EnsureNotNullAsync<T>(Task<Result<T>>, string, CancellationToken)
Awaits the result then ensures the value is not null.
public static Task<Result<T>> EnsureNotNullAsync<T>(this Task<Result<T>> resultTask, string errorMessage, CancellationToken cancellationToken = default) where T : class
Parameters
resultTaskTask<Result<T>>errorMessagestringcancellationTokenCancellationToken
Returns
Type Parameters
T
EnsureNotNull<T>(Result<T>, string)
Ensures the value is not null.
public static Result<T> EnsureNotNull<T>(this Result<T> result, string errorMessage) where T : class
Parameters
Returns
- Result<T>
Type Parameters
T
Ensure<T>(Result<T>, Func<T, bool>, Error)
Ensures that a condition is met, otherwise returns a failed result.
public static Result<T> Ensure<T>(this Result<T> result, Func<T, bool> predicate, Error error)
Parameters
Returns
- Result<T>
Type Parameters
T
Ensure<T>(Result<T>, Func<T, bool>, string)
Ensures that a condition is met, otherwise returns a failed result.
public static Result<T> Ensure<T>(this Result<T> result, Func<T, bool> predicate, string errorMessage)
Parameters
Returns
- Result<T>
Type Parameters
T
Ensure<T>(Result<T>, params (Func<T, bool> predicate, Error error)[])
Ensures that multiple conditions are met, otherwise returns a failed result.
public static Result<T> Ensure<T>(this Result<T> result, params (Func<T, bool> predicate, Error error)[] validations)
Parameters
Returns
- Result<T>
Type Parameters
T