Class ResultOrTaskExtensions

Namespace
REslava.Result.Extensions
Assembly
REslava.Result.dll

Task extension methods for providing fallback results on failure.

public static class ResultOrTaskExtensions
Inheritance
ResultOrTaskExtensions
Inherited Members

Methods

Or(Task<Result>, Result, CancellationToken)

Awaits the result task then returns it if successful; otherwise returns the provided fallback.

public static Task<Result> Or(this Task<Result> resultTask, Result fallback, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result>
fallback Result
cancellationToken CancellationToken

Returns

Task<Result>

OrElse(Task<Result>, Func<ImmutableList<IError>, Result>, CancellationToken)

Awaits the result task then returns it if successful; otherwise invokes the fallback factory.

public static Task<Result> OrElse(this Task<Result> resultTask, Func<ImmutableList<IError>, Result> fallbackFactory, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result>
fallbackFactory Func<ImmutableList<IError>, Result>
cancellationToken CancellationToken

Returns

Task<Result>

OrElseAsync(Task<Result>, Func<ImmutableList<IError>, Task<Result>>, CancellationToken)

Awaits the result task then returns it if successful; otherwise asynchronously invokes the fallback factory.

public static Task<Result> OrElseAsync(this Task<Result> resultTask, Func<ImmutableList<IError>, Task<Result>> fallbackFactory, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result>
fallbackFactory Func<ImmutableList<IError>, Task<Result>>
cancellationToken CancellationToken

Returns

Task<Result>

OrElseAsync<T>(Task<Result<T>>, Func<ImmutableList<IError>, Task<Result<T>>>, CancellationToken)

Awaits the result task then returns it if successful; otherwise asynchronously invokes the fallback factory.

public static Task<Result<T>> OrElseAsync<T>(this Task<Result<T>> resultTask, Func<ImmutableList<IError>, Task<Result<T>>> fallbackFactory, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result<T>>
fallbackFactory Func<ImmutableList<IError>, Task<Result<T>>>
cancellationToken CancellationToken

Returns

Task<Result<T>>

Type Parameters

T

OrElse<T>(Task<Result<T>>, Func<ImmutableList<IError>, Result<T>>, CancellationToken)

Awaits the result task then returns it if successful; otherwise invokes the fallback factory.

public static Task<Result<T>> OrElse<T>(this Task<Result<T>> resultTask, Func<ImmutableList<IError>, Result<T>> fallbackFactory, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result<T>>
fallbackFactory Func<ImmutableList<IError>, Result<T>>
cancellationToken CancellationToken

Returns

Task<Result<T>>

Type Parameters

T

Or<T>(Task<Result<T>>, Result<T>, CancellationToken)

Awaits the result task then returns it if successful; otherwise returns the provided fallback.

public static Task<Result<T>> Or<T>(this Task<Result<T>> resultTask, Result<T> fallback, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result<T>>
fallback Result<T>
cancellationToken CancellationToken

Returns

Task<Result<T>>

Type Parameters

T