added __or__ operator to pwo.maybe.Maybe

This commit is contained in:
2024-06-24 20:21:48 +08:00
parent 434cef78c4
commit 8cf62ff3d2

View File

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