@@ -6,7 +6,7 @@ import Data.Bifoldable (class Bifoldable, bifoldl, bifoldr, bifoldMap, bifoldrDe
66import Data.Bifunctor (class Bifunctor , bimap )
77import Data.Bitraversable (class Bitraversable , bisequenceDefault , bitraverse , bisequence , bitraverseDefault )
88import Data.Foldable (class Foldable , find , findMap , fold , indexl , indexr , foldMap , foldMapDefaultL , foldMapDefaultR , foldl , foldlDefault , foldr , foldrDefault , length , maximum , maximumBy , minimum , minimumBy , null , surroundMap )
9- import Data.FoldableWithIndex (class FoldableWithIndex , findWithIndex , foldMapWithIndex , foldMapWithIndexDefaultL , foldMapWithIndexDefaultR , foldlWithIndex , foldlWithIndexDefault , foldrWithIndex , foldrWithIndexDefault , surroundMapWithIndex )
9+ import Data.FoldableWithIndex (class FoldableWithIndex , findWithIndex , findMapWithIndex , foldMapWithIndex , foldMapWithIndexDefaultL , foldMapWithIndexDefaultR , foldlWithIndex , foldlWithIndexDefault , foldrWithIndex , foldrWithIndexDefault , surroundMapWithIndex )
1010import Data.Function (on )
1111import Data.FunctorWithIndex (class FunctorWithIndex , mapWithIndex )
1212import Data.Int (toNumber , pow )
@@ -129,6 +129,10 @@ main = do
129129 let pred x = if x > 5 then Just (x * 100 ) else Nothing
130130 assert $ findMap pred [1 , 5 , 10 , 20 ] == Just 1000
131131
132+ log " Test findMapWithIndex" *> do
133+ let pred i x = if x >= 5 && i >= 3 then Just { i, x } else Nothing
134+ assert $ findMapWithIndex pred [1 , 5 , 10 , 20 ] == Just { i: 3 , x: 20 }
135+
132136 log " Test maximum"
133137 assert $ maximum (arrayFrom1UpTo 10 ) == Just 10
134138
0 commit comments