@@ -8,7 +8,7 @@ import Control.Monad.Eff.Console (CONSOLE, log)
88import Data.Bifoldable (class Bifoldable , bifoldl , bifoldr , bifoldMap , bifoldrDefault , bifoldlDefault , bifoldMapDefaultR , bifoldMapDefaultL )
99import Data.Bifunctor (class Bifunctor , bimap )
1010import Data.Bitraversable (class Bitraversable , bisequenceDefault , bitraverse , bisequence , bitraverseDefault )
11- import Data.Foldable (class Foldable , foldl , foldr , foldMap , foldrDefault , foldlDefault , foldMapDefaultR , foldMapDefaultL , minimumBy , minimum , maximumBy , maximum , find )
11+ import Data.Foldable (class Foldable , foldl , foldr , foldMap , foldrDefault , foldlDefault , foldMapDefaultR , foldMapDefaultL , minimumBy , minimum , maximumBy , maximum , find , findMap )
1212import Data.Function (on )
1313import Data.Int (toNumber )
1414import Data.Maybe (Maybe (..))
@@ -81,6 +81,10 @@ main = do
8181 assert $ find (_ == 10 ) [1 , 5 , 10 ] == Just 10
8282 assert $ find (\x -> x `mod` 2 == 0 ) [1 , 4 , 10 ] == Just 4
8383
84+ log " Test findMap" *> do
85+ let pred x = if x > 5 then Just (x * 100 ) else Nothing
86+ assert $ findMap pred [1 , 5 , 10 , 20 ] == Just 1000
87+
8488 log " Test maximum"
8589 assert $ maximum (arrayFrom1UpTo 10 ) == Just 10
8690
0 commit comments