aboutsummaryrefslogtreecommitdiff
path: root/src/client/elm/Utils/Maybe.elm
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/elm/Utils/Maybe.elm')
-rw-r--r--src/client/elm/Utils/Maybe.elm19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/client/elm/Utils/Maybe.elm b/src/client/elm/Utils/Maybe.elm
index 4a94aa5..46456e1 100644
--- a/src/client/elm/Utils/Maybe.elm
+++ b/src/client/elm/Utils/Maybe.elm
@@ -1,7 +1,8 @@
module Utils.Maybe exposing
( isJust
- , catMaybes
- , maybeToList
+ , cat
+ , toList
+ , orElse
)
isJust : Maybe a -> Bool
@@ -10,8 +11,8 @@ isJust maybe =
Just _ -> True
Nothing -> False
-catMaybes : List (Maybe a) -> List a
-catMaybes =
+cat : List (Maybe a) -> List a
+cat =
List.foldr
(\mb xs ->
case mb of
@@ -20,8 +21,14 @@ catMaybes =
)
[]
-maybeToList : Maybe a -> List a
-maybeToList mb =
+toList : Maybe a -> List a
+toList mb =
case mb of
Just a -> [a]
Nothing -> []
+
+orElse : Maybe a -> Maybe a -> Maybe a
+orElse mb1 mb2 =
+ case mb1 of
+ Just x -> Just x
+ Nothing -> mb2