hledger/hledger-lib/Hledger/Data.hs
Stephen Morgan 315e92c08b pkg!: Break functions related to balancing out into a separate module,
Hledger.Data.Balancing.

Both Hledger.Data.Transaction and Hledger.Data.Journal are massive
module with many things in them. Placing the balancing functions, which
are conceptually related, into a separate module helps keep things more
modular.

It also reduces the risk of import cycles, as right now balancing
functions cannot depend on any functions defined outside of
Hledger.Data.Transaction or Hledger.Data.Journal, respectively, if those
modules require basic transaction or journal functions.
2021-09-19 17:10:38 -10:00

67 lines
2.0 KiB
Haskell

{-# LANGUAGE OverloadedStrings #-}
{-|
The Hledger.Data library allows parsing and querying of C++ ledger-style
journal files. It generally provides a compatible subset of C++ ledger's
functionality. This package re-exports all the Hledger.Data.* modules
(except UTF8, which requires an explicit import.)
-}
module Hledger.Data (
module Hledger.Data.Account,
module Hledger.Data.AccountName,
module Hledger.Data.Amount,
module Hledger.Data.Balancing,
module Hledger.Data.Dates,
module Hledger.Data.Journal,
module Hledger.Data.Json,
module Hledger.Data.Ledger,
module Hledger.Data.Period,
module Hledger.Data.PeriodicTransaction,
module Hledger.Data.Posting,
module Hledger.Data.RawOptions,
module Hledger.Data.StringFormat,
module Hledger.Data.Timeclock,
module Hledger.Data.Transaction,
module Hledger.Data.TransactionModifier,
module Hledger.Data.Types,
module Hledger.Data.Valuation,
tests_Data
)
where
import Test.Tasty (testGroup)
import Hledger.Data.Account
import Hledger.Data.AccountName
import Hledger.Data.Amount
import Hledger.Data.Balancing
import Hledger.Data.Dates
import Hledger.Data.Journal
import Hledger.Data.Json
import Hledger.Data.Ledger
import Hledger.Data.Period
import Hledger.Data.PeriodicTransaction
import Hledger.Data.Posting
import Hledger.Data.RawOptions
import Hledger.Data.StringFormat
import Hledger.Data.Timeclock
import Hledger.Data.Transaction
import Hledger.Data.TransactionModifier
import Hledger.Data.Types hiding (MixedAmountKey, Mixed)
import Hledger.Data.Valuation
tests_Data = testGroup "Data" [
tests_AccountName
,tests_Amount
,tests_Dates
,tests_Balancing
,tests_Journal
,tests_Ledger
,tests_Posting
,tests_Valuation
,tests_StringFormat
,tests_Timeclock
,tests_Transaction
]