lib: update journal account names api
Now we have: -- | Sorted unique account names posted to by this journal's transactions. journalAccountNamesUsed :: Journal -> [AccountName] -- | Sorted unique account names implied by this journal's transactions - -- accounts posted to and all their implied parent accounts. journalAccountNamesImplied :: Journal -> [AccountName] -- | Sorted unique account names declared by account directives in this journal. journalAccountNamesDeclared :: Journal -> [AccountName] -- | Sorted unique account names declared by account directives or posted to -- by transactions in this journal. journalAccountNamesDeclaredOrUsed :: Journal -> [AccountName] -- | Sorted unique account names declared by account directives, or posted to -- or implied as parents by transactions in this journal. journalAccountNamesDeclaredOrImplied :: Journal -> [AccountName] -- | Convenience/compatibility alias for journalAccountNamesImpliedOrUsed. journalAccountNames :: Journal -> [AccountName]
This commit is contained in:
parent
d7d75c50fe
commit
ddef7d722d
@ -29,8 +29,12 @@ module Hledger.Data.Journal (
|
|||||||
filterTransactionPostings,
|
filterTransactionPostings,
|
||||||
filterPostingAmount,
|
filterPostingAmount,
|
||||||
-- * Querying
|
-- * Querying
|
||||||
journalAccountNames,
|
|
||||||
journalAccountNamesUsed,
|
journalAccountNamesUsed,
|
||||||
|
journalAccountNamesImplied,
|
||||||
|
journalAccountNamesDeclared,
|
||||||
|
journalAccountNamesDeclaredOrUsed,
|
||||||
|
journalAccountNamesDeclaredOrImplied,
|
||||||
|
journalAccountNames,
|
||||||
-- journalAmountAndPriceCommodities,
|
-- journalAmountAndPriceCommodities,
|
||||||
journalAmounts,
|
journalAmounts,
|
||||||
overJournalAmounts,
|
overJournalAmounts,
|
||||||
@ -239,13 +243,32 @@ journalDescriptions = nub . sort . map tdescription . jtxns
|
|||||||
journalPostings :: Journal -> [Posting]
|
journalPostings :: Journal -> [Posting]
|
||||||
journalPostings = concatMap tpostings . jtxns
|
journalPostings = concatMap tpostings . jtxns
|
||||||
|
|
||||||
-- | Unique account names posted to in this journal.
|
-- | Sorted unique account names posted to by this journal's transactions.
|
||||||
journalAccountNamesUsed :: Journal -> [AccountName]
|
journalAccountNamesUsed :: Journal -> [AccountName]
|
||||||
journalAccountNamesUsed = sort . accountNamesFromPostings . journalPostings
|
journalAccountNamesUsed = accountNamesFromPostings . journalPostings
|
||||||
|
|
||||||
-- | Unique account names in this journal, including parent accounts containing no postings.
|
-- | Sorted unique account names implied by this journal's transactions -
|
||||||
|
-- accounts posted to and all their implied parent accounts.
|
||||||
|
journalAccountNamesImplied :: Journal -> [AccountName]
|
||||||
|
journalAccountNamesImplied = expandAccountNames . journalAccountNamesUsed
|
||||||
|
|
||||||
|
-- | Sorted unique account names declared by account directives in this journal.
|
||||||
|
journalAccountNamesDeclared :: Journal -> [AccountName]
|
||||||
|
journalAccountNamesDeclared = nub . sort . jaccounts
|
||||||
|
|
||||||
|
-- | Sorted unique account names declared by account directives or posted to
|
||||||
|
-- by transactions in this journal.
|
||||||
|
journalAccountNamesDeclaredOrUsed :: Journal -> [AccountName]
|
||||||
|
journalAccountNamesDeclaredOrUsed j = nub $ sort $ journalAccountNamesDeclared j ++ journalAccountNamesUsed j
|
||||||
|
|
||||||
|
-- | Sorted unique account names declared by account directives, or posted to
|
||||||
|
-- or implied as parents by transactions in this journal.
|
||||||
|
journalAccountNamesDeclaredOrImplied :: Journal -> [AccountName]
|
||||||
|
journalAccountNamesDeclaredOrImplied j = nub $ sort $ journalAccountNamesDeclared j ++ journalAccountNamesImplied j
|
||||||
|
|
||||||
|
-- | Convenience/compatibility alias for journalAccountNamesImpliedOrUsed.
|
||||||
journalAccountNames :: Journal -> [AccountName]
|
journalAccountNames :: Journal -> [AccountName]
|
||||||
journalAccountNames = sort . expandAccountNames . journalAccountNamesUsed
|
journalAccountNames = journalAccountNamesDeclaredOrImplied
|
||||||
|
|
||||||
journalAccountNameTree :: Journal -> Tree AccountName
|
journalAccountNameTree :: Journal -> Tree AccountName
|
||||||
journalAccountNameTree = accountNameTreeFrom . journalAccountNames
|
journalAccountNameTree = accountNameTreeFrom . journalAccountNames
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user