Result
@frozen
enum Result<Success, Failure> where Failure : Error
-
Provides a prism focused on the success side of a Result.
Declaration
Swift
static var successPrism: Prism<Result<Success, Failure>, Success> { get } -
Provides a prism focused on the failure side of a Result.
Declaration
Swift
static var failurePrism: Prism<Result<Success, Failure>, Failure> { get } -
Provides an Iso between Result and Either.
Declaration
Swift
static var toEither: Iso<Result<Success, Failure>, Either<Failure, Success>> { get } -
Provides an Iso between Result and Validated.
Declaration
Swift
static var toValidated: Iso<Result<Success, Failure>, Validated<Failure, Success>> { get }
-
Converts this Result into an Either value.
Declaration
Swift
func toEither() -> Either<Failure, Success>Return Value
An Either.left if this is a Result.failure, or an Either.right if this is a Result.success
-
Converts this Result into a Try value.
Declaration
Swift
func toTry() -> Try<Success>Return Value
A Try.failure if this is a Result.failure, or a Try.success if this is a Result.success
-
Converts this Result into a Validated value.
Declaration
Swift
func toValidated() -> Validated<Failure, Success>Return Value
A Validated.invalid if this is a Result.failure, or a Validated.valid if this is a Result.success.
-
Converts this Result into a ValidatedNEA value.
Declaration
Swift
func toValidatedNEA() -> ValidatedNEA<Failure, Success>Return Value
A Validated.invalid with a NonEmptyArray of the Failure type if this is a Result.failure, or a Validated.valid if this is a Result.success.
-
Converts this Result into an Option value.
Declaration
Swift
func toOption() -> Option<Success>Return Value
Option.none if this is a Result.failure, or Option.some if this is a Result.success.
-
Applies the corresponding closure based on the value contained in this result.
Declaration
Swift
func fold<B>(_ ifFailure: @escaping (Failure) -> B, _ ifSuccess: @escaping (Success) -> B) -> BParameters
ifFailureClosure to be applied if this is a Result.failure.
ifSuccessClosure to be applied if this is a Result.success.
Return Value
Output of the execution of the corresponding closure, based on the internal value of this Result.
-
Given a function, provides a new function lifted to the context of this type.
Declaration
Swift
static func lift<B>(_ f: @escaping (Success) -> B) -> (Result<Success, Failure>) -> Result<B, Failure>Parameters
fFunction to be lifted.
Return Value
Function in the context of this type.
-
Transforms the value type with a constant value.
Declaration
Swift
func `as`<B>(_ b: B) -> Result<B, Failure>Parameters
bConstant value to replace the value type.
Return Value
A new value with the structure of the original value, with its value type transformed.
-
Replaces the value type by the
Voidtype.Declaration
Swift
func void() -> Result<Void, Failure>Return Value
New value in this context, with
Voidas value type, preserving the original structure. -
Transforms the value type and pairs it with its original value.
Declaration
Swift
func product<B>(_ f: @escaping (Success) -> B) -> Result<(Success, B), Failure>Parameters
fTransforming function.
Return Value
A pair with the original value and its transformation, with the structure of the original value.
-
Transforms the value type by making a tuple with a new constant value to the left of the original value type.
Declaration
Swift
func tupleLeft<B>(_ b: B) -> Result<(B, Success), Failure>Parameters
bConstant value for the tuple.
Return Value
A new value with the structure of the original value, with a tuple in its value type.
-
Transforms the value type by making a tuple with a new constant value to the right of the original value type.
Declaration
Swift
func tupleRight<B>(_ b: B) -> Result<(Success, B), Failure>Parameters
bConstant value for the tuple.
Return Value
A new value with the structure of the original value, with a tuple in its value type.
-
Lifts a value to the this context type.
Declaration
Swift
static func pure(_ wrapped: Success) -> Result<Success, Failure>Parameters
wrappedValue to be lifted.
Return Value
Provided value in this context type.
-
Creates a tuple out of two values in this context.
Declaration
Swift
static func zip<A, B>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure> ) -> Result<(A, B), Failure> where Success == (A, B)Parameters
fa1st value of the tuple.
fb2nd value of the tuple.
Return Value
A tuple in this context.
-
Creates a tuple out of three values in this context.
Declaration
Swift
static func zip<A, B, C>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure> ) -> Result<(A, B, C), Failure> where Success == (A, B, C)Parameters
fa1st value of the tuple.
fb2nd value of the tuple.
fc3rd value of the tuple.
Return Value
A tuple in this context.
-
Creates a tuple out of four values in this context.
Declaration
Swift
static func zip<A, B, C, D>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure> ) -> Result<(A, B, C, D), Failure> where Success == (A, B, C, D)Parameters
a1st value of the tuple.
b2nd value of the tuple.
c3rd value of the tuple.
d4th value of the tuple.
Return Value
A tuple in this context.
-
Creates a tuple out of five values in this context.
Declaration
Swift
static func zip<A, B, C, D, E>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure> ) -> Result<(A, B, C, D, E), Failure> where Success == (A, B, C, D, E)Parameters
a1st value of the tuple.
b2nd value of the tuple.
c3rd value of the tuple.
d4th value of the tuple.
e5th value of the tuple.
Return Value
A tuple in this context.
-
Creates a tuple out of six values in this context.
Declaration
Swift
static func zip<A, B, C, D, E, F>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ ff: Result<F, Failure> ) -> Result<(A, B, C, D, E, F), Failure> where Success == (A, B, C, D, E, F)Parameters
a1st value of the tuple.
b2nd value of the tuple.
c3rd value of the tuple.
d4th value of the tuple.
e5th value of the tuple.
f6th value of the tuple.
Return Value
A tuple in this context.
-
Creates a tuple out of seven values in this context.
Declaration
Swift
static func zip<A, B, C, D, E, F, G>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ ff: Result<F, Failure>, _ fg: Result<G, Failure> ) -> Result<(A, B, C, D, E, F, G), Failure> where Success == (A, B, C, D, E, F, G)Parameters
a1st value of the tuple.
b2nd value of the tuple.
c3rd value of the tuple.
d4th value of the tuple.
e5th value of the tuple.
f6th value of the tuple.
g7th value of the tuple.
Return Value
A tuple in this context.
-
Creates a tuple out of eight values in this context.
Declaration
Swift
static func zip<A, B, C, D, E, F, G, H>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ ff: Result<F, Failure>, _ fg: Result<G, Failure>, _ fh: Result<H, Failure> ) -> Result<(A, B, C, D, E, F, G, H), Failure> where Success == (A, B, C, D, E, F, G, H)Parameters
a1st value of the tuple.
b2nd value of the tuple.
c3rd value of the tuple.
d4th value of the tuple.
e5th value of the tuple.
f6th value of the tuple.
g7th value of the tuple.
h8th value of the tuple.
Return Value
A tuple in this context.
-
Creates a tuple out of nine values in this context.
Declaration
Swift
static func zip<A, B, C, D, E, F, G, H, I>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ ff: Result<F, Failure>, _ fg: Result<G, Failure>, _ fh: Result<H, Failure>, _ fi: Result<I, Failure> ) -> Result<(A, B, C, D, E, F, G, H, I), Failure> where Success == (A, B, C, D, E, F, G, H, I)Parameters
a1st value of the tuple.
b2nd value of the tuple.
c3rd value of the tuple.
d4th value of the tuple.
e5th value of the tuple.
f6th value of the tuple.
g7th value of the tuple.
h8th value of the tuple.
i9th value of the tuple.
Return Value
A tuple in this context.
-
Combines the result of two computations in this context, using the provided function.
Declaration
Swift
static func map<A, B>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ f: @escaping (A, B) -> Success ) -> Result<Success, Failure>Parameters
fa1st computation.
fb2nd computation.
fCombination function.
Return Value
Result of combining the provided computations, in this context.
-
Combines the result of three computations in this context, using the provided function.
Declaration
Swift
static func map<A, B, C>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ f: @escaping (A, B, C) -> Success ) -> Result<Success, Failure>Parameters
fa1st computation.
fb2nd computation.
fc3rd computation.
fCombination function.
Return Value
Result of combining the provided computations, in this context.
-
Combines the result of four computations in this context, using the provided function.
Declaration
Swift
static func map<A, B, C, D>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ f: @escaping (A, B, C, D) -> Success ) -> Result<Success, Failure>Parameters
fa1st computation.
fb2nd computation.
fc3rd computation.
fd4th computation.
fCombination function.
Return Value
Result of combining the provided computations, in this context.
-
Combines the result of five computations in this context, using the provided function.
Declaration
Swift
static func map<A, B, C, D, E>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ f: @escaping (A, B, C, D, E) -> Success ) -> Result<Success, Failure>Parameters
fa1st computation.
fb2nd computation.
fc3rd computation.
fd4th computation.
fe5th computation.
fCombination function.
Return Value
Result of combining the provided computations, in this context.
-
Combines the result of six computations in this context, using the provided function.
Declaration
Swift
static func map<A, B, C, D, E, F>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ ff: Result<F, Failure>, _ f: @escaping (A, B, C, D, E, F) -> Success ) -> Result<Success, Failure>Parameters
fa1st computation.
fb2nd computation.
fc3rd computation.
fd4th computation.
fe5th computation.
ff6th computation.
fCombination function.
Return Value
Result of combining the provided computations, in this context.
-
Combines the result of seven computations in this context, using the provided function.
Declaration
Swift
static func map<A, B, C, D, E, F, G>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ ff: Result<F, Failure>, _ fg: Result<G, Failure>, _ f: @escaping (A, B, C, D, E, F, G) -> Success ) -> Result<Success, Failure>Parameters
fa1st computation.
fb2nd computation.
fc3rd computation.
fd4th computation.
fe5th computation.
ff6th computation.
fg7th computation.
fCombination function.
Return Value
Result of combining the provided computations, in this context.
-
Combines the result of eight computations in this context, using the provided function.
Declaration
Swift
static func map<A, B, C, D, E, F, G, H>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ ff: Result<F, Failure>, _ fg: Result<G, Failure>, _ fh: Result<H, Failure>, _ f: @escaping (A, B, C, D, E, F, G, H) -> Success ) -> Result<Success, Failure>Parameters
fa1st computation.
fb2nd computation.
fc3rd computation.
fd4th computation.
fe5th computation.
ff6th computation.
fg7th computation.
fh8th computation.
fCombination function.
Return Value
Result of combining the provided computations, in this context.
-
Combines the result of nine computations in this context, using the provided function.
Declaration
Swift
static func map<A, B, C, D, E, F, G, H, I>( _ fa: Result<A, Failure>, _ fb: Result<B, Failure>, _ fc: Result<C, Failure>, _ fd: Result<D, Failure>, _ fe: Result<E, Failure>, _ ff: Result<F, Failure>, _ fg: Result<G, Failure>, _ fh: Result<H, Failure>, _ fi: Result<I, Failure>, _ f: @escaping (A, B, C, D, E, F, G, H, I) -> Success ) -> Result<Success, Failure>Parameters
fa1st computation.
fb2nd computation.
fc3rd computation.
fd4th computation.
fe5th computation.
ff6th computation.
fg7th computation.
fh8th computation.
fi9th computation.
fCombination function.
Return Value
Result of combining the provided computations, in this context.
-
Sequential application.
Declaration
Swift
func ap<A, B>(_ fa: Result<A, Failure>) -> Result<B, Failure> where Success == (A) -> BParameters
faA value in the context implementing this instance.
Return Value
A value in this context, resulting from the transformation of the contained original value with the contained function.
-
Sequentially compose two computations, discarding the value produced by the first.
Declaration
Swift
func zipRight<B>(_ fb: Result<B, Failure>) -> Result<B, Failure>Parameters
fb2nd computation.
Return Value
Result of running the second computation after the first one.
-
Sequentially compose two computations, discarding the value produced by the second.
Declaration
Swift
func zipLeft<B>(_ fb: Result<B, Failure>) -> Result<Success, Failure>Parameters
fb2nd computation.
Return Value
Result produced from the first computation after both are computed.
-
Flattens this nested structure into a single layer.
Declaration
Swift
func flatten<A>() -> Result<A, Failure> where Success == Result<A, Failure>Return Value
Value with a single context structure.
-
Sequentially compose two computations, discarding the value produced by the first.
Declaration
Swift
func followedBy<A>(_ fa: Result<A, Failure>) -> Result<A, Failure>Parameters
fa2nd computation.
Return Value
Result of running the second computation after the first one.
-
Sequentially compose two computations, discarding the value produced by the second.
Declaration
Swift
func forEffect<A>(_ fa: Result<A, Failure>) -> Result<Success, Failure>Parameters
fa2nd computation.
Return Value
Result produced from the first computation after both are computed.
-
Pair the result of a computation with the result of applying a function to such result.
Declaration
Swift
func mproduct<A>(_ f: @escaping (Success) -> Result<A, Failure>) -> Result<(Success, A), Failure>Parameters
fA function to be applied to the result of the computation.
Return Value
A tuple of the result of the computation paired with the result of the function, in this context.
-
Conditionally apply a closure based on the boolean result of this computation.
Declaration
Swift
func `if`<A>( then f: @escaping () -> Result<A, Failure>, else g: @escaping () -> Result<A, Failure> ) -> Result<A, Failure> where Success == BoolParameters
thenClosure to be applied if the computation evaluates to
true.elseClosure to be applied if the computation evaluates to
false.Return Value
Result of applying the corresponding closure based on the result of the computation.
-
Applies a monadic function and discard the result while keeping the effect.
Declaration
Swift
func flatTap<A>(_ f: @escaping (Success) -> Result<A, Failure>) -> Result<Success, Failure>Parameters
fA monadic function which result will be discarded.
Return Value
A computation with the result of the initial computation and the effect caused by the function application.
-
Lifts an error to this context.
Declaration
Swift
static func raiseError(_ error: Failure) -> Result<Success, Failure>Parameters
errorA value of the error type.
Return Value
A value representing the error in this context.
-
Creates a value of this type from an Either.
Declaration
Swift
static func from(either: Either<Failure, Success>) -> Result<Success, Failure>Parameters
eitherEither value to convert to this type.
Return Value
A value that represents the same content from Either, in this context.
-
Handles an error, potentially recovering from it by mapping it to a value in this context.
Declaration
Swift
func handleErrorWith(_ f: @escaping (Failure) -> Result<Success, Failure>) -> Result<Success, Failure>Parameters
fA recovery function.
Return Value
A value where the possible errors have been recovered using the provided function.
-
Handles an error, potentially recovering from it by mapping it to a value.
Declaration
Swift
func handleError(_ f: @escaping (Failure) -> Success) -> Result<Success, Failure>Parameters
fA recovery function.
Return Value
A value where the possible errors have been recovered using the provided function.
Install in Dash
Result Extension Reference