Class ResultSwitchTaskExtensions

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

Task extension methods for void side-effect dispatch on Result types.

public static class ResultSwitchTaskExtensions
Inheritance
ResultSwitchTaskExtensions
Inherited Members

Methods

Switch(Task<Result>, Action, Action<ImmutableList<IError>>, CancellationToken)

Awaits the result task then executes one of two sync actions based on success or failure.

public static Task Switch(this Task<Result> resultTask, Action onSuccess, Action<ImmutableList<IError>> onFailure, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result>
onSuccess Action
onFailure Action<ImmutableList<IError>>
cancellationToken CancellationToken

Returns

Task

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

Awaits the result task then executes one of two async actions based on success or failure.

public static Task SwitchAsync(this Task<Result> resultTask, Func<Task> onSuccess, Func<ImmutableList<IError>, Task> onFailure, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result>
onSuccess Func<Task>
onFailure Func<ImmutableList<IError>, Task>
cancellationToken CancellationToken

Returns

Task

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

Awaits the result task then executes one of two async actions based on success or failure.

public static Task SwitchAsync<T>(this Task<Result<T>> resultTask, Func<T, Task> onSuccess, Func<ImmutableList<IError>, Task> onFailure, CancellationToken cancellationToken = default)

Parameters

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

Returns

Task

Type Parameters

T

Switch<T>(Task<Result<T>>, Action<T>, Action<ImmutableList<IError>>, CancellationToken)

Awaits the result task then executes one of two sync actions based on success or failure.

public static Task Switch<T>(this Task<Result<T>> resultTask, Action<T> onSuccess, Action<ImmutableList<IError>> onFailure, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result<T>>
onSuccess Action<T>
onFailure Action<ImmutableList<IError>>
cancellationToken CancellationToken

Returns

Task

Type Parameters

T