From 8cf62ff3d2bb1103cf97631c83667deb312a25dc Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Mon, 24 Jun 2024 20:21:48 +0800 Subject: [PATCH] added __or__ operator to pwo.maybe.Maybe --- src/pwo/maybe.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pwo/maybe.py b/src/pwo/maybe.py index f0d00d6..4f44e90 100644 --- a/src/pwo/maybe.py +++ b/src/pwo/maybe.py @@ -52,6 +52,8 @@ class Maybe(Generic[T]): def flat_map(self, transformer: Callable[[T], Maybe[U]]) -> Maybe[U]: 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: return self.value if self.is_present else alt