<U, E>
Transposes an Option
of a Result
into a Result
of an Option
.
None
will be mapped to Ok(None)
.
Some(Ok(_))
and Some(Err(_))
will be mapped to Ok(Some(_))
and Err(_)
.
use TH\Maybe\Result;
self::assertEq(Result\ok(Option\some(4)), Option\transpose(Option\some(Result\ok(4))));
self::assertEq(Result\err("meat"), Option\transpose(Option\some(Result\err("meat"))));
self::assertEq(Option\transpose(Option\none()), Result\ok(Option\none()));
Parameters | |||
---|---|---|---|
Option<Result<U, E>>
|
$option |
# |
Returns | |
---|---|
Result<Option<U>, E>
|