lib: refactor: rename journal/transaction mapping helpers

Hledger.Data.Journal:
changed:
mapJournalTransactions -> journalMapTransactions
mapJournalPostings -> journalMapPostings
removed:
mapTransactionPostings

Hledger.Data.Transaction:
added:
transactionMapPostings
This commit is contained in:
Simon Michael 2021-02-04 07:57:26 -08:00
parent 6101368954
commit f52117120b
2 changed files with 13 additions and 12 deletions

View File

@ -38,9 +38,8 @@ module Hledger.Data.Journal (
filterTransactionPostings,
filterPostingAmount,
-- * Mapping
mapJournalTransactions,
mapJournalPostings,
mapTransactionPostings,
journalMapTransactions,
journalMapPostings,
journalMapPostingAmounts,
-- * Querying
journalAccountNamesUsed,
@ -445,20 +444,16 @@ filterTransactionPostings :: Query -> Transaction -> Transaction
filterTransactionPostings q t@Transaction{tpostings=ps} = t{tpostings=filter (q `matchesPosting`) ps}
-- | Apply a transformation to a journal's transactions.
mapJournalTransactions :: (Transaction -> Transaction) -> Journal -> Journal
mapJournalTransactions f j@Journal{jtxns=ts} = j{jtxns=map f ts}
journalMapTransactions :: (Transaction -> Transaction) -> Journal -> Journal
journalMapTransactions f j@Journal{jtxns=ts} = j{jtxns=map f ts}
-- | Apply a transformation to a journal's postings.
mapJournalPostings :: (Posting -> Posting) -> Journal -> Journal
mapJournalPostings f j@Journal{jtxns=ts} = j{jtxns=map (mapTransactionPostings f) ts}
-- | Apply a transformation to a transaction's postings.
mapTransactionPostings :: (Posting -> Posting) -> Transaction -> Transaction
mapTransactionPostings f t@Transaction{tpostings=ps} = t{tpostings=map f ps}
journalMapPostings :: (Posting -> Posting) -> Journal -> Journal
journalMapPostings f j@Journal{jtxns=ts} = j{jtxns=map (transactionMapPostings f) ts}
-- | Apply a transformation to a journal's posting amounts.
journalMapPostingAmounts :: (Amount -> Amount) -> Journal -> Journal
journalMapPostingAmounts f = mapJournalPostings (postingTransformAmount (mapMixedAmount f))
journalMapPostingAmounts f = journalMapPostings (postingTransformAmount (mapMixedAmount f))
{-
-------------------------------------------------------------------------------

View File

@ -36,6 +36,7 @@ module Hledger.Data.Transaction (
transactionApplyValuation,
transactionToCost,
transactionApplyAliases,
transactionMapPostings,
-- nonzerobalanceerror,
-- * date operations
transactionDate2,
@ -617,6 +618,11 @@ transactionApplyAliases aliases t =
Right ps -> Right $ txnTieKnot $ t{tpostings=ps}
Left err -> Left err
-- | Apply a transformation to a transaction's postings.
transactionMapPostings :: (Posting -> Posting) -> Transaction -> Transaction
transactionMapPostings f t@Transaction{tpostings=ps} = t{tpostings=map f ps}
-- | Apply a transformation to a transaction's posting amounts.
-- tests
tests_Transaction :: TestTree