Compare commits
2 Commits
434cef78c4
...
07e511ae2c
Author | SHA1 | Date | |
---|---|---|---|
07e511ae2c
|
|||
8cf62ff3d2
|
@@ -1,9 +1,11 @@
|
|||||||
from .private import format_filesize, async_retry, retry, async_test, ExceptionHandlerOutcome
|
from .private import format_filesize, async_retry, retry, async_test, ExceptionHandlerOutcome
|
||||||
|
from .maybe import Maybe
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
'format_filesize',
|
'format_filesize',
|
||||||
'async_retry',
|
'async_retry',
|
||||||
'retry',
|
'retry',
|
||||||
'async_test',
|
'async_test',
|
||||||
'ExceptionHandlerOutcome'
|
'ExceptionHandlerOutcome',
|
||||||
|
'Maybe'
|
||||||
]
|
]
|
||||||
|
@@ -52,6 +52,8 @@ class Maybe(Generic[T]):
|
|||||||
def flat_map(self, transformer: Callable[[T], Maybe[U]]) -> Maybe[U]:
|
def flat_map(self, transformer: Callable[[T], Maybe[U]]) -> Maybe[U]:
|
||||||
return transformer(self.value) if self.is_present else Maybe.empty()
|
return transformer(self.value) if self.is_present else Maybe.empty()
|
||||||
|
|
||||||
|
def __or__(self, alt: Maybe[T]) -> Maybe[T]:
|
||||||
|
return self if self.is_present else alt
|
||||||
def or_else(self, alt: T) -> T:
|
def or_else(self, alt: T) -> T:
|
||||||
return self.value if self.is_present else alt
|
return self.value if self.is_present else alt
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user