🐙 Templated web page generator for your git repositories
git clone https://github.com/m-col/gitja
Files | Refs | Readme | License

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