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