TH\Maybe\Result\transpose

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