Commit 699060934c98e6e0429e268bb44cef1011243914 Parent: 52f6feacb51a7bb434a128425cc05377cbd0d4f5 Author: mcol <mcol@posteo.net> Date: 2021-09-24 00:08:26 +0100 Committer: mcol <mcol@posteo.net> Committed: 2021-09-24 00:08:26 +0100 Neaten getCommits function
src/Repositories.hs Modified
@@ -6,12 +6,13 @@ ) where import Conduit (runConduit, (.|), sinkList) +import Control.Monad ((<=<)) import Control.Monad.IO.Class (liftIO) import Control.Monad.Trans.Reader (ReaderT) import Data.Either (fromRight) import Data.Tagged import Data.Text (pack, Text) -import Data.Maybe (catMaybes) +import Data.Maybe (mapMaybe) import Git import Git.Libgit2 (lgFactory, LgRepo) import System.Directory (createDirectoryIfMissing) @@ -70,9 +71,9 @@ outPath = directory </> name getCommits :: CommitOid LgRepo -> ReaderT LgRepo IO [Commit LgRepo] -getCommits commitID = do - oids <- runConduit $ sourceObjects Nothing commitID False .| sinkList - sequence . catMaybes $ loadCommit <$> oids +getCommits commitID = + sequence . mapMaybe loadCommit <=< + runConduit $ sourceObjects Nothing commitID False .| sinkList loadCommit :: ObjectOid LgRepo -> Maybe (ReaderT LgRepo IO (Commit LgRepo)) loadCommit (CommitObjOid oid) = Just $ lookupCommit oid