@@ -13,7 +13,7 @@ import Data.Int (toNumber, pow)
1313import Data.Maybe (Maybe (..))
1414import Data.Monoid.Additive (Additive (..))
1515import Data.Newtype (unwrap )
16- import Data.Semigroup.Foldable (class Foldable1 , foldr1 , foldl1 , fold1Default , foldr1Default , foldl1Default )
16+ import Data.Semigroup.Foldable (class Foldable1 , foldr1 , foldl1 , fold1Default , foldr1Default , foldl1Default , oneOf1 , oneOfMap1 )
1717import Data.Traversable (class Traversable , sequenceDefault , traverse , sequence , traverseDefault )
1818import Data.TraversableWithIndex (class TraversableWithIndex , traverseWithIndex )
1919import Effect (Effect , foreachE )
@@ -200,6 +200,13 @@ main = do
200200 assert $ " (a(b(cd)))" == foldMap (foldr1 (\x y -> " (" <> x <> y <> " )" )) (maybeMkNEArray [" a" , " b" , " c" , " d" ])
201201 assert $ " (((ab)c)d)" == foldMap (foldl1 (\x y -> " (" <> x <> y <> " )" )) (maybeMkNEArray [" a" , " b" , " c" , " d" ])
202202
203+ log " Test oneOf1"
204+ assert $ Just " a" == (maybeMkNEArray [Nothing , Just " a" , Just " b" ] >>= oneOf1)
205+
206+ log " Test oneOfMap1" *> do
207+ let pred n = if n >= 5 then Just n else Nothing
208+ assert $ Just 5 == (maybeMkNEArray [1 , 5 , 10 , 20 ] >>= oneOfMap1 pred)
209+
203210 log " All done!"
204211
205212
0 commit comments