Source code for stdlibx.result.fn.option
1from __future__ import annotations
2
3from typing import TYPE_CHECKING, TypeVar
4
5from stdlibx.result import Result, methods
6
7if TYPE_CHECKING:
8 from stdlibx.option import Option
9 from stdlibx.result._types import Operation
10
11T = TypeVar("T")
12E = TypeVar("E")
13U = TypeVar("U")
14
15
[docs]
16def ok() -> Operation[Result[T, E], Option[T]]:
17 return methods.ok
18
19
[docs]
20def err() -> Operation[Result[T, E], Option[E]]:
21 return methods.err
22
23
[docs]
24def transpose() -> Operation[Result[Option[U], E], Option[Result[U, E]]]:
25 return methods.transpose