blob: 46456e155b3725fb35a90d59ae1846947aeeb154 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
module Utils.Maybe exposing
( isJust
, cat
, toList
, orElse
)
isJust : Maybe a -> Bool
isJust maybe =
case maybe of
Just _ -> True
Nothing -> False
cat : List (Maybe a) -> List a
cat =
List.foldr
(\mb xs ->
case mb of
Just x -> x :: xs
Nothing -> xs
)
[]
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
|