module YamlUnscrambler.Util.Vector where import Data.Vector import YamlUnscrambler.Prelude as Prelude hiding (lookup) lookupFirst :: [Int] -> Vector a -> Maybe (Int, a) lookupFirst :: [Int] -> Vector a -> Maybe (Int, a) lookupFirst [Int] keys Vector a vector = First (Int, a) -> Maybe (Int, a) forall a. First a -> Maybe a getFirst ((Int -> First (Int, a)) -> [Int] -> First (Int, a) forall (t :: * -> *) m a. (Foldable t, Monoid m) => (a -> m) -> t a -> m Prelude.foldMap (\Int k -> Maybe (Int, a) -> First (Int, a) forall a. Maybe a -> First a First ((a -> (Int, a)) -> Maybe a -> Maybe (Int, a) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b fmap (Int k,) (Vector a vector Vector a -> Int -> Maybe a forall a. Vector a -> Int -> Maybe a !? Int k))) [Int] keys)