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.elm27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/client/elm/Utils/Maybe.elm b/src/client/elm/Utils/Maybe.elm
new file mode 100644
index 0000000..d954ae0
--- /dev/null
+++ b/src/client/elm/Utils/Maybe.elm
@@ -0,0 +1,27 @@
+module Utils.Maybe
+ ( isJust
+ , catMaybes
+ , maybeToList
+ ) where
+
+isJust : Maybe a -> Bool
+isJust maybe =
+ case maybe of
+ Just _ -> True
+ Nothing -> False
+
+catMaybes : List (Maybe a) -> List a
+catMaybes =
+ List.foldr
+ (\mb xs ->
+ case mb of
+ Just x -> x :: xs
+ Nothing -> xs
+ )
+ []
+
+maybeToList : Maybe a -> List a
+maybeToList mb =
+ case mb of
+ Just a -> [a]
+ Nothing -> []