define Ledger's exports
This commit is contained in:
parent
7acd389624
commit
a7b1269d86
@ -5,7 +5,23 @@ names, a map from account names to 'Account's, and the display precision.
|
|||||||
|
|
||||||
-}
|
-}
|
||||||
|
|
||||||
module Ledger.Ledger
|
module Ledger.Ledger (
|
||||||
|
cacheLedger,
|
||||||
|
filterLedgerEntries,
|
||||||
|
filterLedgerTransactions,
|
||||||
|
accountnames,
|
||||||
|
ledgerAccount,
|
||||||
|
ledgerTransactions,
|
||||||
|
ledgerAccountTree,
|
||||||
|
addDataToAccountNameTree,
|
||||||
|
printentries,
|
||||||
|
printregister,
|
||||||
|
showLedgerAccounts,
|
||||||
|
showAccountTree,
|
||||||
|
isBoringInnerAccount,
|
||||||
|
isBoringInnerAccountName,
|
||||||
|
pruneBoringBranches,
|
||||||
|
)
|
||||||
where
|
where
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
import Data.Map ((!))
|
import Data.Map ((!))
|
||||||
@ -19,22 +35,6 @@ import Ledger.RawLedger
|
|||||||
import Ledger.Entry
|
import Ledger.Entry
|
||||||
|
|
||||||
|
|
||||||
rawLedgerTransactions :: RawLedger -> [Transaction]
|
|
||||||
rawLedgerTransactions = txns . entries
|
|
||||||
where
|
|
||||||
txns :: [Entry] -> [Transaction]
|
|
||||||
txns es = concat $ map flattenEntry $ zip es (iterate (+1) 1)
|
|
||||||
|
|
||||||
rawLedgerAccountNamesUsed :: RawLedger -> [AccountName]
|
|
||||||
rawLedgerAccountNamesUsed = accountNamesFromTransactions . rawLedgerTransactions
|
|
||||||
|
|
||||||
rawLedgerAccountNames :: RawLedger -> [AccountName]
|
|
||||||
rawLedgerAccountNames = sort . expandAccountNames . rawLedgerAccountNamesUsed
|
|
||||||
|
|
||||||
rawLedgerAccountNameTree :: RawLedger -> Tree AccountName
|
|
||||||
rawLedgerAccountNameTree l = accountNameTreeFrom $ rawLedgerAccountNames l
|
|
||||||
|
|
||||||
|
|
||||||
instance Show Ledger where
|
instance Show Ledger where
|
||||||
show l = printf "Ledger with %d entries, %d accounts"
|
show l = printf "Ledger with %d entries, %d accounts"
|
||||||
((length $ entries $ rawledger l) +
|
((length $ entries $ rawledger l) +
|
||||||
@ -266,3 +266,21 @@ pruneBoringBranches =
|
|||||||
hasbalance = (/= 0) . abalance
|
hasbalance = (/= 0) . abalance
|
||||||
hastxns = (> 0) . length . atransactions
|
hastxns = (> 0) . length . atransactions
|
||||||
|
|
||||||
|
-- helpers
|
||||||
|
|
||||||
|
rawLedgerTransactions :: RawLedger -> [Transaction]
|
||||||
|
rawLedgerTransactions = txns . entries
|
||||||
|
where
|
||||||
|
txns :: [Entry] -> [Transaction]
|
||||||
|
txns es = concat $ map flattenEntry $ zip es (iterate (+1) 1)
|
||||||
|
|
||||||
|
rawLedgerAccountNamesUsed :: RawLedger -> [AccountName]
|
||||||
|
rawLedgerAccountNamesUsed = accountNamesFromTransactions . rawLedgerTransactions
|
||||||
|
|
||||||
|
rawLedgerAccountNames :: RawLedger -> [AccountName]
|
||||||
|
rawLedgerAccountNames = sort . expandAccountNames . rawLedgerAccountNamesUsed
|
||||||
|
|
||||||
|
rawLedgerAccountNameTree :: RawLedger -> Tree AccountName
|
||||||
|
rawLedgerAccountNameTree l = accountNameTreeFrom $ rawLedgerAccountNames l
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
2
Tests.hs
2
Tests.hs
@ -372,7 +372,7 @@ test_ledgerAccountNames =
|
|||||||
["assets","assets:cash","assets:checking","assets:saving","equity","equity:opening balances",
|
["assets","assets:cash","assets:checking","assets:saving","equity","equity:opening balances",
|
||||||
"expenses","expenses:food","expenses:food:dining","expenses:phone","expenses:vacation",
|
"expenses","expenses:food","expenses:food:dining","expenses:phone","expenses:vacation",
|
||||||
"liabilities","liabilities:credit cards","liabilities:credit cards:discover"]
|
"liabilities","liabilities:credit cards","liabilities:credit cards:discover"]
|
||||||
(rawLedgerAccountNames ledger7)
|
(accountnames l7)
|
||||||
|
|
||||||
test_cacheLedger =
|
test_cacheLedger =
|
||||||
assertEqual' 15 (length $ Map.keys $ accounts $ cacheLedger ledger7 nullpats)
|
assertEqual' 15 (length $ Map.keys $ accounts $ cacheLedger ledger7 nullpats)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user