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