Class MaybeResultInterop
- Namespace
- REslava.Result.AdvancedPatterns
- Assembly
- REslava.Result.dll
Bidirectional bridge between Maybe<T> and Result<TValue>.
public static class MaybeResultInterop
- Inheritance
-
MaybeResultInterop
- Inherited Members
Methods
ToMaybe<T>(Result<T>)
Converts a Result to a Maybe. Error information is discarded on failure — use when failure is representable as absence rather than error detail.
public static Maybe<T> ToMaybe<T>(this Result<T> result)
Parameters
resultResult<T>
Returns
- Maybe<T>
Type Parameters
T
Examples
Result<User> result = GetUser(id);
Maybe<User> maybe = result.ToMaybe(); // None if failed, Some(user) if succeeded
ToResult<T>(Maybe<T>, IError)
Converts a Maybe to a Result using a static error when the Maybe is None.
public static Result<T> ToResult<T>(this Maybe<T> maybe, IError error)
Parameters
Returns
- Result<T>
Type Parameters
T
Examples
Result<User> result = maybeUser.ToResult(new NotFoundError("User", id));
ToResult<T>(Maybe<T>, Func<IError>)
Converts a Maybe to a Result using a lazy error factory when the Maybe is None.
public static Result<T> ToResult<T>(this Maybe<T> maybe, Func<IError> errorFactory)
Parameters
Returns
- Result<T>
Type Parameters
T
Examples
Maybe<User> maybe = FindUser(id);
Result<User> result = maybe.ToResult(() => new NotFoundError("User", id));
ToResult<T>(Maybe<T>, string)
Converts a Maybe to a Result using an error message when the Maybe is None.
public static Result<T> ToResult<T>(this Maybe<T> maybe, string errorMessage)
Parameters
Returns
- Result<T>
Type Parameters
T
Examples
Result<User> result = maybeUser.ToResult("User not found");