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, filterTransactionPostings,
filterPostingAmount, filterPostingAmount,
-- * Mapping -- * Mapping
mapJournalTransactions, journalMapTransactions,
mapJournalPostings, journalMapPostings,
mapTransactionPostings,
journalMapPostingAmounts, journalMapPostingAmounts,
-- * Querying -- * Querying
journalAccountNamesUsed, journalAccountNamesUsed,
@ -445,20 +444,16 @@ filterTransactionPostings :: Query -> Transaction -> Transaction
filterTransactionPostings q t@Transaction{tpostings=ps} = t{tpostings=filter (q `matchesPosting`) ps} filterTransactionPostings q t@Transaction{tpostings=ps} = t{tpostings=filter (q `matchesPosting`) ps}
-- | Apply a transformation to a journal's transactions. -- | Apply a transformation to a journal's transactions.
mapJournalTransactions :: (Transaction -> Transaction) -> Journal -> Journal journalMapTransactions :: (Transaction -> Transaction) -> Journal -> Journal
mapJournalTransactions f j@Journal{jtxns=ts} = j{jtxns=map f ts} journalMapTransactions f j@Journal{jtxns=ts} = j{jtxns=map f ts}
-- | Apply a transformation to a journal's postings. -- | Apply a transformation to a journal's postings.
mapJournalPostings :: (Posting -> Posting) -> Journal -> Journal journalMapPostings :: (Posting -> Posting) -> Journal -> Journal
mapJournalPostings f j@Journal{jtxns=ts} = j{jtxns=map (mapTransactionPostings f) ts} journalMapPostings f j@Journal{jtxns=ts} = j{jtxns=map (transactionMapPostings 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}
-- | Apply a transformation to a journal's posting amounts. -- | Apply a transformation to a journal's posting amounts.
journalMapPostingAmounts :: (Amount -> Amount) -> Journal -> Journal 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, transactionApplyValuation,
transactionToCost, transactionToCost,
transactionApplyAliases, transactionApplyAliases,
transactionMapPostings,
-- nonzerobalanceerror, -- nonzerobalanceerror,
-- * date operations -- * date operations
transactionDate2, transactionDate2,
@ -617,6 +618,11 @@ transactionApplyAliases aliases t =
Right ps -> Right $ txnTieKnot $ t{tpostings=ps} Right ps -> Right $ txnTieKnot $ t{tpostings=ps}
Left err -> Left err 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
tests_Transaction :: TestTree tests_Transaction :: TestTree