@@ -13,7 +13,7 @@ import Data.Int (toNumber, pow)
13
13
import Data.Maybe (Maybe (..))
14
14
import Data.Monoid.Additive (Additive (..))
15
15
import 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 )
17
17
import Data.Traversable (class Traversable , sequenceDefault , traverse , sequence , traverseDefault )
18
18
import Data.TraversableWithIndex (class TraversableWithIndex , traverseWithIndex )
19
19
import Effect (Effect , foreachE )
@@ -200,6 +200,13 @@ main = do
200
200
assert $ " (a(b(cd)))" == foldMap (foldr1 (\x y -> " (" <> x <> y <> " )" )) (maybeMkNEArray [" a" , " b" , " c" , " d" ])
201
201
assert $ " (((ab)c)d)" == foldMap (foldl1 (\x y -> " (" <> x <> y <> " )" )) (maybeMkNEArray [" a" , " b" , " c" , " d" ])
202
202
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
+
203
210
log " All done!"
204
211
205
212
0 commit comments