refactor
This commit is contained in:
parent
ba3825441c
commit
037d86e046
2 changed files with 7 additions and 2 deletions
|
@ -18,8 +18,7 @@ import Types.Difference
|
||||||
import Logs.UUIDBased
|
import Logs.UUIDBased
|
||||||
|
|
||||||
parseDifferencesLog :: String -> (M.Map UUID Differences)
|
parseDifferencesLog :: String -> (M.Map UUID Differences)
|
||||||
parseDifferencesLog = simpleMap
|
parseDifferencesLog = simpleMap . parseLog (Just . readDifferences)
|
||||||
. parseLog (Just . maybe UnknownDifferences Differences . readish)
|
|
||||||
|
|
||||||
-- The sum of all recorded differences, across all UUIDs.
|
-- The sum of all recorded differences, across all UUIDs.
|
||||||
allDifferences :: M.Map UUID Differences -> Differences
|
allDifferences :: M.Map UUID Differences -> Differences
|
||||||
|
|
|
@ -8,12 +8,14 @@
|
||||||
module Types.Difference (
|
module Types.Difference (
|
||||||
Difference(..),
|
Difference(..),
|
||||||
Differences(..),
|
Differences(..),
|
||||||
|
readDifferences,
|
||||||
getDifferences,
|
getDifferences,
|
||||||
differenceConfigKey,
|
differenceConfigKey,
|
||||||
differenceConfigVal,
|
differenceConfigVal,
|
||||||
hasDifference,
|
hasDifference,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
|
import Utility.PartialPrelude
|
||||||
import qualified Git
|
import qualified Git
|
||||||
import qualified Git.Config
|
import qualified Git.Config
|
||||||
|
|
||||||
|
@ -55,9 +57,13 @@ instance Monoid Differences where
|
||||||
mappend (Differences l1) (Differences l2) = Differences (canon (l1 ++ l2))
|
mappend (Differences l1) (Differences l2) = Differences (canon (l1 ++ l2))
|
||||||
mappend _ _ = UnknownDifferences
|
mappend _ _ = UnknownDifferences
|
||||||
|
|
||||||
|
-- Canonical form, allowing comparison.
|
||||||
canon :: [Difference] -> [Difference]
|
canon :: [Difference] -> [Difference]
|
||||||
canon = nub . sort
|
canon = nub . sort
|
||||||
|
|
||||||
|
readDifferences :: String -> Differences
|
||||||
|
readDifferences = maybe UnknownDifferences Differences . readish
|
||||||
|
|
||||||
getDifferences :: Git.Repo -> Differences
|
getDifferences :: Git.Repo -> Differences
|
||||||
getDifferences r = Differences $ catMaybes $
|
getDifferences r = Differences $ catMaybes $
|
||||||
map getmaybe [minBound .. maxBound]
|
map getmaybe [minBound .. maxBound]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue