<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>>
|
|