chore: run dotnet format
This commit is contained in:
@@ -53,23 +53,23 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when func or errorHandler is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when func or errorHandler is null.</exception>
|
||||||
public static Result<T, TError> Try<T, TError>(Func<T> func, Func<Exception, TError> errorHandler) where TError : IError
|
public static Result<T, TError> Try<T, TError>(Func<T> func, Func<Exception, TError> errorHandler) where TError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(func);
|
ArgumentNullException.ThrowIfNull(func);
|
||||||
#else
|
#else
|
||||||
if (func is null)
|
if (func is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(func));
|
throw new ArgumentNullException(nameof(func));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(errorHandler);
|
ArgumentNullException.ThrowIfNull(errorHandler);
|
||||||
#else
|
#else
|
||||||
if (errorHandler is null)
|
if (errorHandler is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(errorHandler));
|
throw new ArgumentNullException(nameof(errorHandler));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -150,14 +150,14 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when mapper is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when mapper is null.</exception>
|
||||||
public Result<TNew, TError> Map<TNew>(Func<T, TNew> mapper)
|
public Result<TNew, TError> Map<TNew>(Func<T, TNew> mapper)
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(mapper);
|
ArgumentNullException.ThrowIfNull(mapper);
|
||||||
#else
|
#else
|
||||||
if (mapper is null)
|
if (mapper is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(mapper));
|
throw new ArgumentNullException(nameof(mapper));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return IsSuccess ? Result.Ok<TNew, TError>(mapper(Value)) : Result.Fail<TNew, TError>(Error);
|
return IsSuccess ? Result.Ok<TNew, TError>(mapper(Value)) : Result.Fail<TNew, TError>(Error);
|
||||||
}
|
}
|
||||||
@@ -170,14 +170,14 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when mapper is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when mapper is null.</exception>
|
||||||
public Result<T, TNewError> MapError<TNewError>(Func<TError, TNewError> mapper) where TNewError : IError
|
public Result<T, TNewError> MapError<TNewError>(Func<TError, TNewError> mapper) where TNewError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(mapper);
|
ArgumentNullException.ThrowIfNull(mapper);
|
||||||
#else
|
#else
|
||||||
if (mapper is null)
|
if (mapper is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(mapper));
|
throw new ArgumentNullException(nameof(mapper));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return IsFailure ? Result.Fail<T, TNewError>(mapper(Error)) : Result.Ok<T, TNewError>(Value);
|
return IsFailure ? Result.Fail<T, TNewError>(mapper(Error)) : Result.Ok<T, TNewError>(Value);
|
||||||
}
|
}
|
||||||
@@ -191,14 +191,14 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when binder is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when binder is null.</exception>
|
||||||
public Result<TNew, TError> Bind<TNew>(Func<T, Result<TNew, TError>> binder)
|
public Result<TNew, TError> Bind<TNew>(Func<T, Result<TNew, TError>> binder)
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(binder);
|
ArgumentNullException.ThrowIfNull(binder);
|
||||||
#else
|
#else
|
||||||
if (binder is null)
|
if (binder is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(binder));
|
throw new ArgumentNullException(nameof(binder));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return IsSuccess ? binder(Value) : Result.Fail<TNew, TError>(Error);
|
return IsSuccess ? binder(Value) : Result.Fail<TNew, TError>(Error);
|
||||||
}
|
}
|
||||||
@@ -213,23 +213,23 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when onSuccess or onFailure is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when onSuccess or onFailure is null.</exception>
|
||||||
public TResult Match<TResult>(Func<T, TResult> onSuccess, Func<TError, TResult> onFailure)
|
public TResult Match<TResult>(Func<T, TResult> onSuccess, Func<TError, TResult> onFailure)
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onSuccess);
|
ArgumentNullException.ThrowIfNull(onSuccess);
|
||||||
#else
|
#else
|
||||||
if (onSuccess is null)
|
if (onSuccess is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onSuccess));
|
throw new ArgumentNullException(nameof(onSuccess));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onFailure);
|
ArgumentNullException.ThrowIfNull(onFailure);
|
||||||
#else
|
#else
|
||||||
if (onFailure is null)
|
if (onFailure is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onFailure));
|
throw new ArgumentNullException(nameof(onFailure));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return IsSuccess ? onSuccess(Value) : onFailure(Error);
|
return IsSuccess ? onSuccess(Value) : onFailure(Error);
|
||||||
}
|
}
|
||||||
@@ -242,23 +242,23 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when onSuccess or onFailure is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when onSuccess or onFailure is null.</exception>
|
||||||
public void Match(Action<T> onSuccess, Action<TError> onFailure)
|
public void Match(Action<T> onSuccess, Action<TError> onFailure)
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onSuccess);
|
ArgumentNullException.ThrowIfNull(onSuccess);
|
||||||
#else
|
#else
|
||||||
if (onSuccess is null)
|
if (onSuccess is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onSuccess));
|
throw new ArgumentNullException(nameof(onSuccess));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onFailure);
|
ArgumentNullException.ThrowIfNull(onFailure);
|
||||||
#else
|
#else
|
||||||
if (onFailure is null)
|
if (onFailure is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onFailure));
|
throw new ArgumentNullException(nameof(onFailure));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (IsSuccess)
|
if (IsSuccess)
|
||||||
{
|
{
|
||||||
@@ -278,14 +278,14 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when action is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when action is null.</exception>
|
||||||
public Result<T, TError> Map(Action<T> action)
|
public Result<T, TError> Map(Action<T> action)
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(action);
|
ArgumentNullException.ThrowIfNull(action);
|
||||||
#else
|
#else
|
||||||
if (action is null)
|
if (action is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(action));
|
throw new ArgumentNullException(nameof(action));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (IsSuccess)
|
if (IsSuccess)
|
||||||
{
|
{
|
||||||
@@ -302,14 +302,14 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when action is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when action is null.</exception>
|
||||||
public Result<T, TError> Map(Action action)
|
public Result<T, TError> Map(Action action)
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(action);
|
ArgumentNullException.ThrowIfNull(action);
|
||||||
#else
|
#else
|
||||||
if (action is null)
|
if (action is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(action));
|
throw new ArgumentNullException(nameof(action));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (IsSuccess)
|
if (IsSuccess)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,23 +19,23 @@ namespace StevanFreeborn.Results
|
|||||||
public static async Task<Result<TNew, TError>> MapAsync<T, TNew, TError>(this Result<T, TError> result, Func<T, Task<TNew>> mapper)
|
public static async Task<Result<TNew, TError>> MapAsync<T, TNew, TError>(this Result<T, TError> result, Func<T, Task<TNew>> mapper)
|
||||||
where TError : IError
|
where TError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(result);
|
ArgumentNullException.ThrowIfNull(result);
|
||||||
#else
|
#else
|
||||||
if (result is null)
|
if (result is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(result));
|
throw new ArgumentNullException(nameof(result));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(mapper);
|
ArgumentNullException.ThrowIfNull(mapper);
|
||||||
#else
|
#else
|
||||||
if (mapper is null)
|
if (mapper is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(mapper));
|
throw new ArgumentNullException(nameof(mapper));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return result.IsSuccess ? await mapper(result.Value).ConfigureAwait(false) : result.Error;
|
return result.IsSuccess ? await mapper(result.Value).ConfigureAwait(false) : result.Error;
|
||||||
}
|
}
|
||||||
@@ -54,23 +54,23 @@ namespace StevanFreeborn.Results
|
|||||||
where TError : IError
|
where TError : IError
|
||||||
where TNewError : IError
|
where TNewError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(result);
|
ArgumentNullException.ThrowIfNull(result);
|
||||||
#else
|
#else
|
||||||
if (result is null)
|
if (result is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(result));
|
throw new ArgumentNullException(nameof(result));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(mapper);
|
ArgumentNullException.ThrowIfNull(mapper);
|
||||||
#else
|
#else
|
||||||
if (mapper is null)
|
if (mapper is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(mapper));
|
throw new ArgumentNullException(nameof(mapper));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return result.IsFailure ? await mapper(result.Error).ConfigureAwait(false) : Result.Ok<T, TNewError>(result.Value);
|
return result.IsFailure ? await mapper(result.Error).ConfigureAwait(false) : Result.Ok<T, TNewError>(result.Value);
|
||||||
}
|
}
|
||||||
@@ -86,23 +86,23 @@ namespace StevanFreeborn.Results
|
|||||||
public static async Task<Result<Unit, TError>> MapAsync<TError>(this Result<Unit, TError> result, Func<Unit, Task> onSuccess)
|
public static async Task<Result<Unit, TError>> MapAsync<TError>(this Result<Unit, TError> result, Func<Unit, Task> onSuccess)
|
||||||
where TError : IError
|
where TError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(result);
|
ArgumentNullException.ThrowIfNull(result);
|
||||||
#else
|
#else
|
||||||
if (result is null)
|
if (result is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(result));
|
throw new ArgumentNullException(nameof(result));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onSuccess);
|
ArgumentNullException.ThrowIfNull(onSuccess);
|
||||||
#else
|
#else
|
||||||
if (onSuccess is null)
|
if (onSuccess is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onSuccess));
|
throw new ArgumentNullException(nameof(onSuccess));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (result.IsSuccess)
|
if (result.IsSuccess)
|
||||||
{
|
{
|
||||||
@@ -123,23 +123,23 @@ namespace StevanFreeborn.Results
|
|||||||
public static async Task<Result<Unit, TError>> BindAsync<TError>(this Result<Unit, TError> result, Func<Unit, Task<Result<Unit, TError>>> onSuccess)
|
public static async Task<Result<Unit, TError>> BindAsync<TError>(this Result<Unit, TError> result, Func<Unit, Task<Result<Unit, TError>>> onSuccess)
|
||||||
where TError : IError
|
where TError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(result);
|
ArgumentNullException.ThrowIfNull(result);
|
||||||
#else
|
#else
|
||||||
if (result is null)
|
if (result is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(result));
|
throw new ArgumentNullException(nameof(result));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onSuccess);
|
ArgumentNullException.ThrowIfNull(onSuccess);
|
||||||
#else
|
#else
|
||||||
if (onSuccess is null)
|
if (onSuccess is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onSuccess));
|
throw new ArgumentNullException(nameof(onSuccess));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return result.IsSuccess ? await onSuccess(result.Value).ConfigureAwait(false) : result;
|
return result.IsSuccess ? await onSuccess(result.Value).ConfigureAwait(false) : result;
|
||||||
}
|
}
|
||||||
@@ -157,32 +157,32 @@ namespace StevanFreeborn.Results
|
|||||||
public static async Task<TResult> MatchAsync<TResult, TError>(this Result<Unit, TError> result, Func<Unit, Task<TResult>> onSuccess, Func<TError, Task<TResult>> onFailure)
|
public static async Task<TResult> MatchAsync<TResult, TError>(this Result<Unit, TError> result, Func<Unit, Task<TResult>> onSuccess, Func<TError, Task<TResult>> onFailure)
|
||||||
where TError : IError
|
where TError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(result);
|
ArgumentNullException.ThrowIfNull(result);
|
||||||
#else
|
#else
|
||||||
if (result is null)
|
if (result is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(result));
|
throw new ArgumentNullException(nameof(result));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onSuccess);
|
ArgumentNullException.ThrowIfNull(onSuccess);
|
||||||
#else
|
#else
|
||||||
if (onSuccess is null)
|
if (onSuccess is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onSuccess));
|
throw new ArgumentNullException(nameof(onSuccess));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onFailure);
|
ArgumentNullException.ThrowIfNull(onFailure);
|
||||||
#else
|
#else
|
||||||
if (onFailure is null)
|
if (onFailure is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onFailure));
|
throw new ArgumentNullException(nameof(onFailure));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return result.IsSuccess
|
return result.IsSuccess
|
||||||
? await onSuccess(result.Value).ConfigureAwait(false)
|
? await onSuccess(result.Value).ConfigureAwait(false)
|
||||||
@@ -208,23 +208,23 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when action or errorHandler is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when action or errorHandler is null.</exception>
|
||||||
public static async Task<Result<Unit, Error>> TryAsync(Func<Task> action, Func<Exception, Error> errorHandler)
|
public static async Task<Result<Unit, Error>> TryAsync(Func<Task> action, Func<Exception, Error> errorHandler)
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(action);
|
ArgumentNullException.ThrowIfNull(action);
|
||||||
#else
|
#else
|
||||||
if (action is null)
|
if (action is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(action));
|
throw new ArgumentNullException(nameof(action));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(errorHandler);
|
ArgumentNullException.ThrowIfNull(errorHandler);
|
||||||
#else
|
#else
|
||||||
if (errorHandler is null)
|
if (errorHandler is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(errorHandler));
|
throw new ArgumentNullException(nameof(errorHandler));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -250,23 +250,23 @@ namespace StevanFreeborn.Results
|
|||||||
public static async Task<Result<TNew, TError>> BindAsync<T, TNew, TError>(this Result<T, TError> result, Func<T, Task<Result<TNew, TError>>> binder)
|
public static async Task<Result<TNew, TError>> BindAsync<T, TNew, TError>(this Result<T, TError> result, Func<T, Task<Result<TNew, TError>>> binder)
|
||||||
where TError : IError
|
where TError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(result);
|
ArgumentNullException.ThrowIfNull(result);
|
||||||
#else
|
#else
|
||||||
if (result is null)
|
if (result is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(result));
|
throw new ArgumentNullException(nameof(result));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(binder);
|
ArgumentNullException.ThrowIfNull(binder);
|
||||||
#else
|
#else
|
||||||
if (binder is null)
|
if (binder is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(binder));
|
throw new ArgumentNullException(nameof(binder));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return result.IsSuccess ? await binder(result.Value).ConfigureAwait(false) : Result.Fail<TNew, TError>(result.Error);
|
return result.IsSuccess ? await binder(result.Value).ConfigureAwait(false) : Result.Fail<TNew, TError>(result.Error);
|
||||||
}
|
}
|
||||||
@@ -285,32 +285,32 @@ namespace StevanFreeborn.Results
|
|||||||
public static async Task<TResult> MatchAsync<T, TResult, TError>(this Result<T, TError> result, Func<T, Task<TResult>> onSuccess, Func<TError, Task<TResult>> onFailure)
|
public static async Task<TResult> MatchAsync<T, TResult, TError>(this Result<T, TError> result, Func<T, Task<TResult>> onSuccess, Func<TError, Task<TResult>> onFailure)
|
||||||
where TError : IError
|
where TError : IError
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(result);
|
ArgumentNullException.ThrowIfNull(result);
|
||||||
#else
|
#else
|
||||||
if (result is null)
|
if (result is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(result));
|
throw new ArgumentNullException(nameof(result));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onSuccess);
|
ArgumentNullException.ThrowIfNull(onSuccess);
|
||||||
#else
|
#else
|
||||||
if (onSuccess is null)
|
if (onSuccess is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onSuccess));
|
throw new ArgumentNullException(nameof(onSuccess));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(onFailure);
|
ArgumentNullException.ThrowIfNull(onFailure);
|
||||||
#else
|
#else
|
||||||
if (onFailure is null)
|
if (onFailure is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(onFailure));
|
throw new ArgumentNullException(nameof(onFailure));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return result.IsSuccess
|
return result.IsSuccess
|
||||||
? await onSuccess(result.Value).ConfigureAwait(false)
|
? await onSuccess(result.Value).ConfigureAwait(false)
|
||||||
@@ -338,23 +338,23 @@ namespace StevanFreeborn.Results
|
|||||||
/// <exception cref="ArgumentNullException">Thrown when func or errorHandler is null.</exception>
|
/// <exception cref="ArgumentNullException">Thrown when func or errorHandler is null.</exception>
|
||||||
public static async Task<Result<T, Error>> TryAsync<T>(Func<Task<T>> func, Func<Exception, Error> errorHandler)
|
public static async Task<Result<T, Error>> TryAsync<T>(Func<Task<T>> func, Func<Exception, Error> errorHandler)
|
||||||
{
|
{
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(func);
|
ArgumentNullException.ThrowIfNull(func);
|
||||||
#else
|
#else
|
||||||
if (func is null)
|
if (func is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(func));
|
throw new ArgumentNullException(nameof(func));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NET6_0_OR_GREATER
|
#if NET6_0_OR_GREATER
|
||||||
ArgumentNullException.ThrowIfNull(errorHandler);
|
ArgumentNullException.ThrowIfNull(errorHandler);
|
||||||
#else
|
#else
|
||||||
if (errorHandler is null)
|
if (errorHandler is null)
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(errorHandler));
|
throw new ArgumentNullException(nameof(errorHandler));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -61,4 +61,4 @@ public class ErrorTests
|
|||||||
|
|
||||||
await Assert.That(error).IsAssignableTo<IError>();
|
await Assert.That(error).IsAssignableTo<IError>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -196,4 +196,4 @@ public class ResultAsyncExtensionsTests
|
|||||||
await Assert.That(result.IsFailure).IsTrue();
|
await Assert.That(result.IsFailure).IsTrue();
|
||||||
await Assert.That(result.Error.Code).IsEqualTo("custom");
|
await Assert.That(result.Error.Code).IsEqualTo("custom");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -200,4 +200,4 @@ public class ResultTTests
|
|||||||
await Assert.That(result.IsFailure).IsTrue();
|
await Assert.That(result.IsFailure).IsTrue();
|
||||||
await Assert.That(result.Error.Code).IsEqualTo("custom");
|
await Assert.That(result.Error.Code).IsEqualTo("custom");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,7 +16,7 @@ public class ResultTests
|
|||||||
{
|
{
|
||||||
var error = new Error("code", "message");
|
var error = new Error("code", "message");
|
||||||
var result = Result.Fail<Unit, Error>(error);
|
var result = Result.Fail<Unit, Error>(error);
|
||||||
|
|
||||||
await Assert.That(result.IsSuccess).IsFalse();
|
await Assert.That(result.IsSuccess).IsFalse();
|
||||||
await Assert.That(result.IsFailure).IsTrue();
|
await Assert.That(result.IsFailure).IsTrue();
|
||||||
await Assert.That(result.Error).IsEqualTo(error);
|
await Assert.That(result.Error).IsEqualTo(error);
|
||||||
@@ -163,4 +163,4 @@ public class ResultTests
|
|||||||
await Assert.That(result.IsFailure).IsTrue();
|
await Assert.That(result.IsFailure).IsTrue();
|
||||||
await Assert.That(result.Error.Code).IsEqualTo("custom");
|
await Assert.That(result.Error.Code).IsEqualTo("custom");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user