lib: expandAccountNames, accountNamesFromPostings should sort here

This commit is contained in:
Simon Michael 2017-12-29 12:16:46 -08:00
parent 3ccafb596f
commit d7d75c50fe
2 changed files with 6 additions and 3 deletions

View File

@ -56,9 +56,11 @@ accountNameLevel a = T.length (T.filter (==acctsepchar) a) + 1
accountNameDrop :: Int -> AccountName -> AccountName
accountNameDrop n = accountNameFromComponents . drop n . accountNameComponents
-- | ["a:b:c","d:e"] -> ["a","a:b","a:b:c","d","d:e"]
-- | Sorted unique account names implied by these account names,
-- ie these plus all their parent accounts up to the root.
-- Eg: ["a:b:c","d:e"] -> ["a","a:b","a:b:c","d","d:e"]
expandAccountNames :: [AccountName] -> [AccountName]
expandAccountNames as = nub $ concatMap expandAccountName as
expandAccountNames as = nub $ sort $ concatMap expandAccountName as
-- | "a:b:c" -> ["a","a:b","a:b:c"]
expandAccountName :: AccountName -> [AccountName]

View File

@ -132,8 +132,9 @@ hasAmount = (/= missingmixedamt) . pamount
isAssignment :: Posting -> Bool
isAssignment p = not (hasAmount p) && isJust (pbalanceassertion p)
-- | Sorted unique account names referenced by these postings.
accountNamesFromPostings :: [Posting] -> [AccountName]
accountNamesFromPostings = nub . map paccount
accountNamesFromPostings = nub . sort . map paccount
sumPostings :: [Posting] -> MixedAmount
sumPostings = sumStrict . map pamount