| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Hledger.Data
Description
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.)
Synopsis
- module Hledger.Data.Account
- module Hledger.Data.AccountName
- module Hledger.Data.Amount
- module Hledger.Data.BalanceData
- module Hledger.Data.Balancing
- module Hledger.Data.Currency
- module Hledger.Data.Dates
- module Hledger.Data.DayPartition
- module Hledger.Data.Errors
- module Hledger.Data.Journal
- module Hledger.Data.JournalChecks
- module Hledger.Data.Json
- module Hledger.Data.Ledger
- module Hledger.Data.Period
- module Hledger.Data.PeriodData
- 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
- fromEFDay :: EFDay -> Day
- isAccountSubtypeOf :: AccountType -> AccountType -> Bool
- isBalanceSheetAccountType :: AccountType -> Bool
- isDecimalMark :: Char -> Bool
- isHiddenTagName :: TagName -> Bool
- isIncomeStatementAccountType :: AccountType -> Bool
- maCompare :: MixedAmount -> MixedAmount -> Ordering
- modifyEFDay :: (Day -> Day) -> EFDay -> EFDay
- nullaccountdeclarationinfo :: AccountDeclarationInfo
- nullpayeedeclarationinfo :: PayeeDeclarationInfo
- nullperiodictransaction :: PeriodicTransaction
- nullsourcepos :: SourcePos
- nullsourcepospair :: (SourcePos, SourcePos)
- nulltagdeclarationinfo :: TagDeclarationInfo
- nulltransactionmodifier :: TransactionModifier
- showMarketPrice :: MarketPrice -> String
- showMarketPrices :: [MarketPrice] -> [Char]
- toHiddenTag :: Tag -> HiddenTag
- toHiddenTagName :: TagName -> TagName
- toVisibleTag :: HiddenTag -> Tag
- toVisibleTagName :: TagName -> TagName
- data Account a = Account {
- aname :: AccountName
- adeclarationinfo :: Maybe AccountDeclarationInfo
- asubs :: [Account a]
- aparent :: Maybe (Account a)
- aboring :: Bool
- adata :: PeriodData a
- data AccountAlias
- data AccountDeclarationInfo = AccountDeclarationInfo {
- adicomment :: Text
- aditags :: [Tag]
- adideclarationorder :: Int
- adisourcepos :: SourcePos
- type AccountName = Text
- data AccountType
- data Amount = Amount {
- acommodity :: !CommoditySymbol
- aquantity :: !Quantity
- astyle :: !AmountStyle
- acost :: !(Maybe AmountCost)
- data AmountCost
- data AmountPrecision
- = Precision !Word8
- | NaturalPrecision
- data AmountStyle = AmountStyle {
- ascommodityside :: !Side
- ascommodityspaced :: !Bool
- asdigitgroups :: !(Maybe DigitGroupStyle)
- asdecimalmark :: !(Maybe Char)
- asprecision :: !AmountPrecision
- asrounding :: !Rounding
- data BalanceAssertion = BalanceAssertion {
- baamount :: Amount
- batotal :: Bool
- bainclusive :: Bool
- baposition :: SourcePos
- data BalanceData = BalanceData {}
- data Commodity = Commodity {
- csymbol :: CommoditySymbol
- cformat :: Maybe AmountStyle
- type CommoditySymbol = Text
- data DateSpan = DateSpan (Maybe EFDay) (Maybe EFDay)
- type DateTag = (TagName, Day)
- type DecimalMark = Char
- data DepthSpec = DepthSpec {
- dsFlatDepth :: Maybe Int
- dsRegexpDepths :: [(Regexp, Int)]
- data DigitGroupStyle = DigitGroups !Char ![Word8]
- data EFDay
- class HasAmounts a where
- styleAmounts :: Map CommoditySymbol AmountStyle -> a -> a
- type HiddenTag = Tag
- data Interval
- = NoInterval
- | Days Int
- | Weeks Int
- | Months Int
- | Quarters Int
- | Years Int
- | NthWeekdayOfMonth Int Int
- | MonthDay Int
- | MonthAndDay Int Int
- | DaysOfWeek [Int]
- data Journal = Journal {
- jparsedefaultyear :: Maybe Year
- jparsedefaultcommodity :: Maybe (CommoditySymbol, AmountStyle)
- jparsedecimalmark :: Maybe DecimalMark
- jparseparentaccounts :: [AccountName]
- jparsealiases :: [AccountAlias]
- jparsetimeclockentries :: [TimeclockEntry]
- jincludefilestack :: [FilePath]
- jdeclaredpayees :: [(Payee, PayeeDeclarationInfo)]
- jdeclaredtags :: [(TagName, TagDeclarationInfo)]
- jdeclaredaccounts :: [(AccountName, AccountDeclarationInfo)]
- jdeclaredaccounttags :: Map AccountName [Tag]
- jdeclaredaccounttypes :: Map AccountType [AccountName]
- jaccounttypes :: Map AccountName AccountType
- jdeclaredcommodities :: Map CommoditySymbol Commodity
- jinferredcommoditystyles :: Map CommoditySymbol AmountStyle
- jglobalcommoditystyles :: Map CommoditySymbol AmountStyle
- jpricedirectives :: [PriceDirective]
- jinferredmarketprices :: [MarketPrice]
- jtxnmodifiers :: [TransactionModifier]
- jperiodictxns :: [PeriodicTransaction]
- jtxns :: [Transaction]
- jfinalcommentlines :: Text
- jfiles :: [(FilePath, Text)]
- jlastreadtime :: POSIXTime
- data Ledger = Ledger {
- ljournal :: Journal
- laccounts :: [Account BalanceData]
- data MarketPrice = MarketPrice {
- mpdate :: Day
- mpfrom :: CommoditySymbol
- mpto :: CommoditySymbol
- mprate :: Quantity
- data MixedAmount
- pattern MixedAmountKeyNoCost :: !CommoditySymbol -> MixedAmountKey
- pattern MixedAmountKeyTotalCost :: !CommoditySymbol -> !CommoditySymbol -> MixedAmountKey
- pattern MixedAmountKeyUnitCost :: !CommoditySymbol -> !CommoditySymbol -> !Quantity -> MixedAmountKey
- type Month = Int
- type MonthDay = Int
- type MonthWeek = Int
- data NormalSign
- type ParsedJournal = Journal
- type Payee = Text
- data PayeeDeclarationInfo = PayeeDeclarationInfo {
- pdicomment :: Text
- pditags :: [Tag]
- data Period
- = DayPeriod Day
- | WeekPeriod Day
- | MonthPeriod Year Month
- | QuarterPeriod Year Quarter
- | YearPeriod Year
- | PeriodBetween Day Day
- | PeriodFrom Day
- | PeriodTo Day
- | PeriodAll
- data PeriodData a = PeriodData {}
- data PeriodicTransaction = PeriodicTransaction {
- ptperiodexpr :: Text
- ptinterval :: Interval
- ptspan :: DateSpan
- ptsourcepos :: (SourcePos, SourcePos)
- ptstatus :: Status
- ptcode :: Text
- ptdescription :: Text
- ptcomment :: Text
- pttags :: [Tag]
- ptpostings :: [Posting]
- data Posting = Posting {
- pdate :: Maybe Day
- pdate2 :: Maybe Day
- pstatus :: Status
- paccount :: AccountName
- pamount :: MixedAmount
- pcomment :: Text
- ptype :: PostingType
- ptags :: [Tag]
- pbalanceassertion :: Maybe BalanceAssertion
- ptransaction :: Maybe Transaction
- poriginal :: Maybe Posting
- data PostingType
- data PriceDirective = PriceDirective {
- pdsourcepos :: SourcePos
- pddate :: Day
- pdcommodity :: CommoditySymbol
- pdamount :: Amount
- type Quantity = Decimal
- type Quarter = Int
- data Rounding
- data SepFormat
- data Side
- data SmartDate
- = SmartCompleteDate Day
- | SmartAssumeStart Year (Maybe Month)
- | SmartFromReference (Maybe Month) MonthDay
- | SmartMonth Month
- | SmartRelative Integer SmartInterval
- data SmartInterval
- data Status
- data StorageFormat
- data TMPostingRule = TMPostingRule {
- tmprPosting :: Posting
- tmprIsMultiplier :: Bool
- type Tag = (TagName, TagValue)
- newtype TagDeclarationInfo = TagDeclarationInfo {
- tdicomment :: Text
- type TagName = Text
- type TagValue = Text
- data TimeclockCode
- = SetBalance
- | SetRequiredHours
- | In
- | Out
- | FinalOut
- data TimeclockEntry = TimeclockEntry {
- tlsourcepos :: SourcePos
- tlcode :: TimeclockCode
- tldatetime :: LocalTime
- tlaccount :: AccountName
- tldescription :: Text
- tlcomment :: Text
- tltags :: [Tag]
- data Transaction = Transaction {}
- data TransactionModifier = TransactionModifier {
- tmquerytxt :: Text
- tmpostingrules :: [TMPostingRule]
- type WeekDay = Int
- data WhichDate
- type YearDay = Int
- type YearWeek = Int
- type Year = Integer
- module Hledger.Data.Valuation
- tests_Data :: TestTree
Documentation
module Hledger.Data.Account
module Hledger.Data.AccountName
module Hledger.Data.Amount
module Hledger.Data.BalanceData
module Hledger.Data.Balancing
module Hledger.Data.Currency
module Hledger.Data.Dates
module Hledger.Data.DayPartition
module Hledger.Data.Errors
module Hledger.Data.Journal
module Hledger.Data.JournalChecks
module Hledger.Data.Json
module Hledger.Data.Ledger
module Hledger.Data.Period
module Hledger.Data.PeriodData
module Hledger.Data.Posting
module Hledger.Data.RawOptions
module Hledger.Data.StringFormat
module Hledger.Data.Timeclock
module Hledger.Data.Transaction
isAccountSubtypeOf :: AccountType -> AccountType -> Bool Source #
Check whether the first argument is a subtype of the second: either equal or one of the defined subtypes.
isBalanceSheetAccountType :: AccountType -> Bool Source #
isDecimalMark :: Char -> Bool Source #
isHiddenTagName :: TagName -> Bool Source #
Does this tag name begin with the hidden tag prefix (_) ?
isIncomeStatementAccountType :: AccountType -> Bool Source #
maCompare :: MixedAmount -> MixedAmount -> Ordering Source #
Compare two MixedAmounts, substituting 0 for the quantity of any missing commodities in either.
modifyEFDay :: (Day -> Day) -> EFDay -> EFDay Source #
showMarketPrice :: MarketPrice -> String Source #
showMarketPrices :: [MarketPrice] -> [Char] Source #
toHiddenTag :: Tag -> HiddenTag Source #
Add the _ prefix to a normal visible tag's name, making it a hidden tag.
toHiddenTagName :: TagName -> TagName Source #
Add the _ prefix to a normal visible tag's name, making it a hidden tag.
toVisibleTag :: HiddenTag -> Tag Source #
Drop the _ prefix from a hidden tag's name, making it a normal visible tag.
toVisibleTagName :: TagName -> TagName Source #
Drop the _ prefix from a hidden tag's name, making it a normal visible tag.
An account within a hierarchy, with references to its parent
and subaccounts if any, and with per-report-period data of type a.
Only the name is required; the other fields may or may not be present.
Constructors
| Account | |
Fields
| |
Instances
| Functor Account Source # | |||||
| FromJSON a => FromJSON (Account a) | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser (Account a) parseJSONList :: Value -> Parser [Account a] omittedField :: Maybe (Account a) | |||||
| ToJSON a => ToJSON (Account a) | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Account a -> Encoding toJSONList :: [Account a] -> Value toEncodingList :: [Account a] -> Encoding | |||||
| Generic (Account a) Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show a => Show (Account a) | |||||
| Eq (Account a) | |||||
| HasAmounts a => HasAmounts (Account a) Source # | |||||
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Account a -> Account a Source # | |||||
| type Rep (Account a) Source # | |||||
Defined in Hledger.Data.Types type Rep (Account a) = D1 ('MetaData "Account" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Account" 'PrefixI 'True) ((S1 ('MetaSel ('Just "aname") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AccountName) :*: (S1 ('MetaSel ('Just "adeclarationinfo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AccountDeclarationInfo)) :*: S1 ('MetaSel ('Just "asubs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Account a]))) :*: (S1 ('MetaSel ('Just "aparent") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (Account a))) :*: (S1 ('MetaSel ('Just "aboring") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "adata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (PeriodData a)))))) | |||||
data AccountAlias Source #
Constructors
| BasicAlias AccountName AccountName | |
| RegexAlias Regexp Replacement |
Instances
| ToJSON AccountAlias | |||||
Defined in Hledger.Data.Json Methods toJSON :: AccountAlias -> Value toEncoding :: AccountAlias -> Encoding toJSONList :: [AccountAlias] -> Value toEncodingList :: [AccountAlias] -> Encoding omitField :: AccountAlias -> Bool | |||||
| NFData AccountAlias Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: AccountAlias -> () | |||||
| Generic AccountAlias Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Read AccountAlias Source # | |||||
Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AccountAlias readList :: ReadS [AccountAlias] readPrec :: ReadPrec AccountAlias readListPrec :: ReadPrec [AccountAlias] | |||||
| Show AccountAlias Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountAlias -> ShowS show :: AccountAlias -> String showList :: [AccountAlias] -> ShowS | |||||
| Eq AccountAlias Source # | |||||
Defined in Hledger.Data.Types | |||||
| Ord AccountAlias Source # | |||||
Defined in Hledger.Data.Types Methods compare :: AccountAlias -> AccountAlias -> Ordering (<) :: AccountAlias -> AccountAlias -> Bool (<=) :: AccountAlias -> AccountAlias -> Bool (>) :: AccountAlias -> AccountAlias -> Bool (>=) :: AccountAlias -> AccountAlias -> Bool max :: AccountAlias -> AccountAlias -> AccountAlias min :: AccountAlias -> AccountAlias -> AccountAlias | |||||
| type Rep AccountAlias Source # | |||||
Defined in Hledger.Data.Types type Rep AccountAlias = D1 ('MetaData "AccountAlias" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "BasicAlias" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AccountName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AccountName)) :+: C1 ('MetaCons "RegexAlias" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Regexp) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Replacement))) | |||||
data AccountDeclarationInfo Source #
Extra information about an account that can be derived from its account directive (and the other account directives).
Constructors
| AccountDeclarationInfo | |
Fields
| |
Instances
| FromJSON AccountDeclarationInfo | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser AccountDeclarationInfo parseJSONList :: Value -> Parser [AccountDeclarationInfo] omittedField :: Maybe AccountDeclarationInfo | |||||
| ToJSON AccountDeclarationInfo | |||||
Defined in Hledger.Data.Json Methods toJSON :: AccountDeclarationInfo -> Value toEncoding :: AccountDeclarationInfo -> Encoding toJSONList :: [AccountDeclarationInfo] -> Value toEncodingList :: [AccountDeclarationInfo] -> Encoding omitField :: AccountDeclarationInfo -> Bool | |||||
| NFData AccountDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: AccountDeclarationInfo -> () | |||||
| Generic AccountDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Associated Types
Methods from :: AccountDeclarationInfo -> Rep AccountDeclarationInfo x to :: Rep AccountDeclarationInfo x -> AccountDeclarationInfo | |||||
| Show AccountDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountDeclarationInfo -> ShowS show :: AccountDeclarationInfo -> String showList :: [AccountDeclarationInfo] -> ShowS | |||||
| Eq AccountDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: AccountDeclarationInfo -> AccountDeclarationInfo -> Bool (/=) :: AccountDeclarationInfo -> AccountDeclarationInfo -> Bool | |||||
| type Rep AccountDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types type Rep AccountDeclarationInfo = D1 ('MetaData "AccountDeclarationInfo" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "AccountDeclarationInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "adicomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "aditags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Tag])) :*: (S1 ('MetaSel ('Just "adideclarationorder") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "adisourcepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SourcePos)))) | |||||
type AccountName = Text Source #
data AccountType Source #
Constructors
| Asset | |
| Liability | |
| Equity | |
| Revenue | |
| Expense | |
| Cash | a subtype of Asset - liquid assets to show in cashflow report |
| Conversion | a subtype of Equity - account with which to balance commodity conversions |
Instances
| ToJSON AccountType | |||||
Defined in Hledger.Data.Json Methods toJSON :: AccountType -> Value toEncoding :: AccountType -> Encoding toJSONList :: [AccountType] -> Value toEncodingList :: [AccountType] -> Encoding omitField :: AccountType -> Bool | |||||
| ToJSONKey AccountType | |||||
Defined in Hledger.Data.Json | |||||
| NFData AccountType Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: AccountType -> () | |||||
| Generic AccountType Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show AccountType Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AccountType -> ShowS show :: AccountType -> String showList :: [AccountType] -> ShowS | |||||
| Eq AccountType Source # | |||||
Defined in Hledger.Data.Types | |||||
| Ord AccountType Source # | |||||
Defined in Hledger.Data.Types Methods compare :: AccountType -> AccountType -> Ordering (<) :: AccountType -> AccountType -> Bool (<=) :: AccountType -> AccountType -> Bool (>) :: AccountType -> AccountType -> Bool (>=) :: AccountType -> AccountType -> Bool max :: AccountType -> AccountType -> AccountType min :: AccountType -> AccountType -> AccountType | |||||
| type Rep AccountType Source # | |||||
Defined in Hledger.Data.Types type Rep AccountType = D1 ('MetaData "AccountType" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) ((C1 ('MetaCons "Asset" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Liability" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Equity" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Revenue" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Expense" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Cash" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Conversion" 'PrefixI 'False) (U1 :: Type -> Type)))) | |||||
Constructors
| Amount | |
Fields
| |
Instances
| FromJSON Amount | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser Amount parseJSONList :: Value -> Parser [Amount] omittedField :: Maybe Amount | |||||
| ToJSON Amount | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Amount -> Encoding toJSONList :: [Amount] -> Value toEncodingList :: [Amount] -> Encoding | |||||
| NFData Amount Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic Amount Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Num Amount | |||||
| Show Amount Source # | |||||
| Eq Amount Source # | |||||
| Ord Amount Source # | |||||
| HasAmounts Amount Source # | |||||
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Amount -> Amount Source # | |||||
| type Rep Amount Source # | |||||
Defined in Hledger.Data.Types type Rep Amount = D1 ('MetaData "Amount" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Amount" 'PrefixI 'True) ((S1 ('MetaSel ('Just "acommodity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Just "aquantity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Quantity)) :*: (S1 ('MetaSel ('Just "astyle") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AmountStyle) :*: S1 ('MetaSel ('Just "acost") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe AmountCost))))) | |||||
data AmountCost Source #
An amount's per-unit or total cost/selling price in another
commodity, as recorded in the journal entry eg with or @.
Cost, formerly AKA "transaction price". The amount is always positive.
Instances
| FromJSON AmountCost | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser AmountCost parseJSONList :: Value -> Parser [AmountCost] omittedField :: Maybe AmountCost | |||||
| ToJSON AmountCost | |||||
Defined in Hledger.Data.Json Methods toJSON :: AmountCost -> Value toEncoding :: AmountCost -> Encoding toJSONList :: [AmountCost] -> Value toEncodingList :: [AmountCost] -> Encoding omitField :: AmountCost -> Bool | |||||
| NFData AmountCost Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: AmountCost -> () | |||||
| Generic AmountCost Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show AmountCost Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AmountCost -> ShowS show :: AmountCost -> String showList :: [AmountCost] -> ShowS | |||||
| Eq AmountCost Source # | |||||
Defined in Hledger.Data.Types | |||||
| Ord AmountCost Source # | |||||
Defined in Hledger.Data.Types Methods compare :: AmountCost -> AmountCost -> Ordering (<) :: AmountCost -> AmountCost -> Bool (<=) :: AmountCost -> AmountCost -> Bool (>) :: AmountCost -> AmountCost -> Bool (>=) :: AmountCost -> AmountCost -> Bool max :: AmountCost -> AmountCost -> AmountCost min :: AmountCost -> AmountCost -> AmountCost | |||||
| type Rep AmountCost Source # | |||||
Defined in Hledger.Data.Types type Rep AmountCost = D1 ('MetaData "AmountCost" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "UnitCost" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Amount)) :+: C1 ('MetaCons "TotalCost" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Amount))) | |||||
data AmountPrecision Source #
The "display precision" for a hledger amount, by which we mean the number of decimal digits to display to the right of the decimal mark.
Constructors
| Precision !Word8 | show this many decimal digits (0..255) |
| NaturalPrecision | show all significant decimal digits stored internally |
Instances
| FromJSON AmountPrecision | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser AmountPrecision parseJSONList :: Value -> Parser [AmountPrecision] omittedField :: Maybe AmountPrecision | |||||
| ToJSON AmountPrecision | |||||
Defined in Hledger.Data.Json Methods toJSON :: AmountPrecision -> Value toEncoding :: AmountPrecision -> Encoding toJSONList :: [AmountPrecision] -> Value toEncodingList :: [AmountPrecision] -> Encoding omitField :: AmountPrecision -> Bool | |||||
| NFData AmountPrecision Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: AmountPrecision -> () | |||||
| Generic AmountPrecision Source # | |||||
Defined in Hledger.Data.Types Associated Types
Methods from :: AmountPrecision -> Rep AmountPrecision x to :: Rep AmountPrecision x -> AmountPrecision | |||||
| Read AmountPrecision Source # | |||||
Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AmountPrecision readList :: ReadS [AmountPrecision] readPrec :: ReadPrec AmountPrecision readListPrec :: ReadPrec [AmountPrecision] | |||||
| Show AmountPrecision Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AmountPrecision -> ShowS show :: AmountPrecision -> String showList :: [AmountPrecision] -> ShowS | |||||
| Eq AmountPrecision Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: AmountPrecision -> AmountPrecision -> Bool (/=) :: AmountPrecision -> AmountPrecision -> Bool | |||||
| Ord AmountPrecision Source # | |||||
Defined in Hledger.Data.Types Methods compare :: AmountPrecision -> AmountPrecision -> Ordering (<) :: AmountPrecision -> AmountPrecision -> Bool (<=) :: AmountPrecision -> AmountPrecision -> Bool (>) :: AmountPrecision -> AmountPrecision -> Bool (>=) :: AmountPrecision -> AmountPrecision -> Bool max :: AmountPrecision -> AmountPrecision -> AmountPrecision min :: AmountPrecision -> AmountPrecision -> AmountPrecision | |||||
| type Rep AmountPrecision Source # | |||||
Defined in Hledger.Data.Types type Rep AmountPrecision = D1 ('MetaData "AmountPrecision" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Precision" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Word8)) :+: C1 ('MetaCons "NaturalPrecision" 'PrefixI 'False) (U1 :: Type -> Type)) | |||||
data AmountStyle Source #
Display styles for amounts - things which can be detected during parsing, such as commodity side and spacing, digit group marks, decimal mark, number of decimal digits etc. Every Amount has an AmountStyle. After amounts are parsed from the input, for each Commodity a standard style is inferred and then used when displaying amounts in that commodity. Related to AmountFormat but higher level.
See also: - hledger manual > Commodity styles - hledger manual > Amounts - hledger manual > Commodity display style
Constructors
| AmountStyle | |
Fields
| |
Instances
| FromJSON AmountStyle | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser AmountStyle parseJSONList :: Value -> Parser [AmountStyle] omittedField :: Maybe AmountStyle | |||||
| ToJSON AmountStyle | |||||
Defined in Hledger.Data.Json Methods toJSON :: AmountStyle -> Value toEncoding :: AmountStyle -> Encoding toJSONList :: [AmountStyle] -> Value toEncodingList :: [AmountStyle] -> Encoding omitField :: AmountStyle -> Bool | |||||
| NFData AmountStyle Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: AmountStyle -> () | |||||
| Generic AmountStyle Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Read AmountStyle Source # | |||||
Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS AmountStyle readList :: ReadS [AmountStyle] readPrec :: ReadPrec AmountStyle readListPrec :: ReadPrec [AmountStyle] | |||||
| Show AmountStyle Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> AmountStyle -> ShowS show :: AmountStyle -> String showList :: [AmountStyle] -> ShowS | |||||
| Eq AmountStyle Source # | |||||
Defined in Hledger.Data.Types | |||||
| Ord AmountStyle Source # | |||||
Defined in Hledger.Data.Types Methods compare :: AmountStyle -> AmountStyle -> Ordering (<) :: AmountStyle -> AmountStyle -> Bool (<=) :: AmountStyle -> AmountStyle -> Bool (>) :: AmountStyle -> AmountStyle -> Bool (>=) :: AmountStyle -> AmountStyle -> Bool max :: AmountStyle -> AmountStyle -> AmountStyle min :: AmountStyle -> AmountStyle -> AmountStyle | |||||
| type Rep AmountStyle Source # | |||||
Defined in Hledger.Data.Types type Rep AmountStyle = D1 ('MetaData "AmountStyle" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "AmountStyle" 'PrefixI 'True) ((S1 ('MetaSel ('Just "ascommodityside") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Side) :*: (S1 ('MetaSel ('Just "ascommodityspaced") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "asdigitgroups") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe DigitGroupStyle)))) :*: (S1 ('MetaSel ('Just "asdecimalmark") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Char)) :*: (S1 ('MetaSel ('Just "asprecision") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 AmountPrecision) :*: S1 ('MetaSel ('Just "asrounding") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Rounding))))) | |||||
data BalanceAssertion Source #
A balance assertion is a declaration about an account's expected balance at a certain point (posting date and parse order). They provide additional error checking and readability to a journal file.
A balance assignments is an instruction to hledger to adjust an account's balance to a certain amount at a certain point.
The BalanceAssertion type is used for representing both of these.
hledger supports multiple kinds of balance assertions/assignments, which differ in whether they refer to a single commodity or all commodities, and the (subaccount-)inclusive or exclusive account balance.
Constructors
| BalanceAssertion | |
Fields
| |
Instances
| FromJSON BalanceAssertion | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser BalanceAssertion parseJSONList :: Value -> Parser [BalanceAssertion] omittedField :: Maybe BalanceAssertion | |||||
| ToJSON BalanceAssertion | |||||
Defined in Hledger.Data.Json Methods toJSON :: BalanceAssertion -> Value toEncoding :: BalanceAssertion -> Encoding toJSONList :: [BalanceAssertion] -> Value toEncodingList :: [BalanceAssertion] -> Encoding omitField :: BalanceAssertion -> Bool | |||||
| NFData BalanceAssertion Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: BalanceAssertion -> () | |||||
| Generic BalanceAssertion Source # | |||||
Defined in Hledger.Data.Types Associated Types
Methods from :: BalanceAssertion -> Rep BalanceAssertion x to :: Rep BalanceAssertion x -> BalanceAssertion | |||||
| Show BalanceAssertion Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> BalanceAssertion -> ShowS show :: BalanceAssertion -> String showList :: [BalanceAssertion] -> ShowS | |||||
| Eq BalanceAssertion Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: BalanceAssertion -> BalanceAssertion -> Bool (/=) :: BalanceAssertion -> BalanceAssertion -> Bool | |||||
| HasAmounts BalanceAssertion Source # | |||||
Defined in Hledger.Data.Posting Methods styleAmounts :: Map CommoditySymbol AmountStyle -> BalanceAssertion -> BalanceAssertion Source # | |||||
| type Rep BalanceAssertion Source # | |||||
Defined in Hledger.Data.Types type Rep BalanceAssertion = D1 ('MetaData "BalanceAssertion" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "BalanceAssertion" 'PrefixI 'True) ((S1 ('MetaSel ('Just "baamount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Amount) :*: S1 ('MetaSel ('Just "batotal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "bainclusive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "baposition") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SourcePos)))) | |||||
data BalanceData Source #
Data that's useful in "balance" reports: subaccount-exclusive and -inclusive amounts, typically representing either a balance change or an end balance; and a count of postings.
Constructors
| BalanceData | |
Fields
| |
Instances
| FromJSON BalanceData | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser BalanceData parseJSONList :: Value -> Parser [BalanceData] omittedField :: Maybe BalanceData | |||||
| ToJSON BalanceData | |||||
Defined in Hledger.Data.Json Methods toJSON :: BalanceData -> Value toEncoding :: BalanceData -> Encoding toJSONList :: [BalanceData] -> Value toEncodingList :: [BalanceData] -> Encoding omitField :: BalanceData -> Bool | |||||
| Monoid BalanceData | |||||
Defined in Hledger.Data.BalanceData | |||||
| Semigroup BalanceData | |||||
Defined in Hledger.Data.BalanceData Methods (<>) :: BalanceData -> BalanceData -> BalanceData sconcat :: NonEmpty BalanceData -> BalanceData stimes :: Integral b => b -> BalanceData -> BalanceData | |||||
| Generic BalanceData Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show BalanceData | |||||
Defined in Hledger.Data.BalanceData Methods showsPrec :: Int -> BalanceData -> ShowS show :: BalanceData -> String showList :: [BalanceData] -> ShowS | |||||
| Eq BalanceData Source # | |||||
Defined in Hledger.Data.Types | |||||
| HasAmounts BalanceData Source # | |||||
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> BalanceData -> BalanceData Source # | |||||
| type Rep BalanceData Source # | |||||
Defined in Hledger.Data.Types type Rep BalanceData = D1 ('MetaData "BalanceData" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "BalanceData" 'PrefixI 'True) (S1 ('MetaSel ('Just "bdexcludingsubs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MixedAmount) :*: (S1 ('MetaSel ('Just "bdincludingsubs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MixedAmount) :*: S1 ('MetaSel ('Just "bdnumpostings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)))) | |||||
Constructors
| Commodity | |
Fields
| |
Instances
| ToJSON Commodity | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Commodity -> Encoding toJSONList :: [Commodity] -> Value toEncodingList :: [Commodity] -> Encoding | |||||
| NFData Commodity Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic Commodity Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show Commodity Source # | |||||
| Eq Commodity Source # | |||||
| type Rep Commodity Source # | |||||
Defined in Hledger.Data.Types type Rep Commodity = D1 ('MetaData "Commodity" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Commodity" 'PrefixI 'True) (S1 ('MetaSel ('Just "csymbol") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Just "cformat") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AmountStyle)))) | |||||
type CommoditySymbol = Text Source #
A possibly open-ended span of time, from an optional inclusive start date to an optional exclusive end date. Each date can be either exact or flexible. An "exact date span" is a Datepan with exact start and end dates.
Instances
| ToJSON DateSpan | |||||
Defined in Hledger.Data.Json Methods toEncoding :: DateSpan -> Encoding toJSONList :: [DateSpan] -> Value toEncodingList :: [DateSpan] -> Encoding | |||||
| Default DateSpan Source # | |||||
Defined in Hledger.Data.Types | |||||
| NFData DateSpan Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic DateSpan Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show DateSpan | |||||
| Eq DateSpan Source # | |||||
| Ord DateSpan Source # | |||||
Defined in Hledger.Data.Types | |||||
| type Rep DateSpan Source # | |||||
Defined in Hledger.Data.Types type Rep DateSpan = D1 ('MetaData "DateSpan" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "DateSpan" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe EFDay)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe EFDay)))) | |||||
type DecimalMark = Char Source #
One of the decimal marks we support: either period or comma.
Constructors
| DepthSpec | |
Fields
| |
data DigitGroupStyle Source #
A style for displaying digit groups in the integer part of a floating point number. It consists of the character used to separate groups (comma or period, whichever is not used as decimal point), and the size of each group, starting with the one nearest the decimal point. The last group size is assumed to repeat. Eg, comma between thousands is DigitGroups ',' [3].
Constructors
| DigitGroups !Char ![Word8] |
Instances
| FromJSON DigitGroupStyle | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser DigitGroupStyle parseJSONList :: Value -> Parser [DigitGroupStyle] omittedField :: Maybe DigitGroupStyle | |||||
| ToJSON DigitGroupStyle | |||||
Defined in Hledger.Data.Json Methods toJSON :: DigitGroupStyle -> Value toEncoding :: DigitGroupStyle -> Encoding toJSONList :: [DigitGroupStyle] -> Value toEncodingList :: [DigitGroupStyle] -> Encoding omitField :: DigitGroupStyle -> Bool | |||||
| NFData DigitGroupStyle Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: DigitGroupStyle -> () | |||||
| Generic DigitGroupStyle Source # | |||||
Defined in Hledger.Data.Types Associated Types
Methods from :: DigitGroupStyle -> Rep DigitGroupStyle x to :: Rep DigitGroupStyle x -> DigitGroupStyle | |||||
| Read DigitGroupStyle Source # | |||||
Defined in Hledger.Data.Types Methods readsPrec :: Int -> ReadS DigitGroupStyle readList :: ReadS [DigitGroupStyle] readPrec :: ReadPrec DigitGroupStyle readListPrec :: ReadPrec [DigitGroupStyle] | |||||
| Show DigitGroupStyle Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> DigitGroupStyle -> ShowS show :: DigitGroupStyle -> String showList :: [DigitGroupStyle] -> ShowS | |||||
| Eq DigitGroupStyle Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: DigitGroupStyle -> DigitGroupStyle -> Bool (/=) :: DigitGroupStyle -> DigitGroupStyle -> Bool | |||||
| Ord DigitGroupStyle Source # | |||||
Defined in Hledger.Data.Types Methods compare :: DigitGroupStyle -> DigitGroupStyle -> Ordering (<) :: DigitGroupStyle -> DigitGroupStyle -> Bool (<=) :: DigitGroupStyle -> DigitGroupStyle -> Bool (>) :: DigitGroupStyle -> DigitGroupStyle -> Bool (>=) :: DigitGroupStyle -> DigitGroupStyle -> Bool max :: DigitGroupStyle -> DigitGroupStyle -> DigitGroupStyle min :: DigitGroupStyle -> DigitGroupStyle -> DigitGroupStyle | |||||
| type Rep DigitGroupStyle Source # | |||||
Defined in Hledger.Data.Types type Rep DigitGroupStyle = D1 ('MetaData "DigitGroupStyle" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "DigitGroups" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Char) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Word8]))) | |||||
A date which is either exact or flexible. Flexible dates are allowed to be adjusted in certain situations.
Instances
| ToJSON EFDay | |||||
Defined in Hledger.Data.Json Methods toEncoding :: EFDay -> Encoding toJSONList :: [EFDay] -> Value toEncodingList :: [EFDay] -> Encoding | |||||
| NFData EFDay Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic EFDay Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show EFDay Source # | |||||
| Eq EFDay Source # | |||||
| Ord EFDay Source # | |||||
| type Rep EFDay Source # | |||||
Defined in Hledger.Data.Types type Rep EFDay = D1 ('MetaData "EFDay" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Exact" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day)) :+: C1 ('MetaCons "Flex" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day))) | |||||
class HasAmounts a where Source #
Types with this class have one or more amounts, which can have display styles applied to them.
Methods
styleAmounts :: Map CommoditySymbol AmountStyle -> a -> a Source #
Instances
Constructors
| NoInterval | |
| Days Int | |
| Weeks Int | |
| Months Int | |
| Quarters Int | |
| Years Int | |
| NthWeekdayOfMonth Int Int | |
| MonthDay Int | |
| MonthAndDay Int Int | |
| DaysOfWeek [Int] |
Instances
| ToJSON Interval | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Interval -> Encoding toJSONList :: [Interval] -> Value toEncodingList :: [Interval] -> Encoding | |||||
| Default Interval Source # | |||||
Defined in Hledger.Data.Types | |||||
| NFData Interval Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic Interval Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show Interval Source # | |||||
| Eq Interval Source # | |||||
| Ord Interval Source # | |||||
Defined in Hledger.Data.Types | |||||
| type Rep Interval Source # | |||||
Defined in Hledger.Data.Types type Rep Interval = D1 ('MetaData "Interval" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (((C1 ('MetaCons "NoInterval" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Days" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "Weeks" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: (C1 ('MetaCons "Months" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "Quarters" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))))) :+: ((C1 ('MetaCons "Years" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "NthWeekdayOfMonth" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))) :+: (C1 ('MetaCons "MonthDay" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: (C1 ('MetaCons "MonthAndDay" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "DaysOfWeek" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Int])))))) | |||||
A journal, containing general ledger transactions; also directives and various other things. This is hledger's main data model.
During parsing, it is used as the type alias ParsedJournal. The jparse* fields are mainly used during parsing and included here for convenience. The list fields described as "in parse order" are usually reversed for efficiency during parsing. After parsing, "journalFinalise" converts ParsedJournal to a finalised Journal, which has all lists correctly ordered, and much data inference and validation applied.
Constructors
| Journal | |
Fields
| |
Instances
| ToJSON Journal | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Journal -> Encoding toJSONList :: [Journal] -> Value toEncodingList :: [Journal] -> Encoding | |||||
| Default Journal | |||||
Defined in Hledger.Data.Journal | |||||
| NFData Journal Source # | |||||
Defined in Hledger.Data.Types | |||||
| Semigroup Journal | |||||
| Generic Journal Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show Journal | |||||
| Eq Journal Source # | |||||
| type Rep Journal Source # | |||||
Defined in Hledger.Data.Types type Rep Journal = D1 ('MetaData "Journal" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Journal" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "jparsedefaultyear") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Year)) :*: (S1 ('MetaSel ('Just "jparsedefaultcommodity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (CommoditySymbol, AmountStyle))) :*: S1 ('MetaSel ('Just "jparsedecimalmark") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe DecimalMark)))) :*: (S1 ('MetaSel ('Just "jparseparentaccounts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [AccountName]) :*: (S1 ('MetaSel ('Just "jparsealiases") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [AccountAlias]) :*: S1 ('MetaSel ('Just "jparsetimeclockentries") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TimeclockEntry])))) :*: ((S1 ('MetaSel ('Just "jincludefilestack") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [FilePath]) :*: (S1 ('MetaSel ('Just "jdeclaredpayees") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(Payee, PayeeDeclarationInfo)]) :*: S1 ('MetaSel ('Just "jdeclaredtags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(TagName, TagDeclarationInfo)]))) :*: (S1 ('MetaSel ('Just "jdeclaredaccounts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(AccountName, AccountDeclarationInfo)]) :*: (S1 ('MetaSel ('Just "jdeclaredaccounttags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map AccountName [Tag])) :*: S1 ('MetaSel ('Just "jdeclaredaccounttypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map AccountType [AccountName])))))) :*: (((S1 ('MetaSel ('Just "jaccounttypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map AccountName AccountType)) :*: (S1 ('MetaSel ('Just "jdeclaredcommodities") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map CommoditySymbol Commodity)) :*: S1 ('MetaSel ('Just "jinferredcommoditystyles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map CommoditySymbol AmountStyle)))) :*: (S1 ('MetaSel ('Just "jglobalcommoditystyles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map CommoditySymbol AmountStyle)) :*: (S1 ('MetaSel ('Just "jpricedirectives") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [PriceDirective]) :*: S1 ('MetaSel ('Just "jinferredmarketprices") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [MarketPrice])))) :*: ((S1 ('MetaSel ('Just "jtxnmodifiers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TransactionModifier]) :*: (S1 ('MetaSel ('Just "jperiodictxns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [PeriodicTransaction]) :*: S1 ('MetaSel ('Just "jtxns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Transaction]))) :*: (S1 ('MetaSel ('Just "jfinalcommentlines") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "jfiles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [(FilePath, Text)]) :*: S1 ('MetaSel ('Just "jlastreadtime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 POSIXTime))))))) | |||||
A Ledger has the journal it derives from, and the accounts derived from that. Accounts are accessible both list-wise and tree-wise, since each one knows its parent and subs; the first account is the root of the tree and always exists.
Instances
| ToJSON Ledger | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Ledger -> Encoding toJSONList :: [Ledger] -> Value toEncodingList :: [Ledger] -> Encoding | |||||
| Generic Ledger Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show Ledger | |||||
| type Rep Ledger Source # | |||||
Defined in Hledger.Data.Types type Rep Ledger = D1 ('MetaData "Ledger" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Ledger" 'PrefixI 'True) (S1 ('MetaSel ('Just "ljournal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Journal) :*: S1 ('MetaSel ('Just "laccounts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Account BalanceData]))) | |||||
data MarketPrice Source #
A historical market price (exchange rate) from one commodity to another. A more concise form of a PriceDirective, without the amount display info.
Constructors
| MarketPrice | |
Fields
| |
Instances
| FromJSON MarketPrice | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser MarketPrice parseJSONList :: Value -> Parser [MarketPrice] omittedField :: Maybe MarketPrice | |||||
| ToJSON MarketPrice | |||||
Defined in Hledger.Data.Json Methods toJSON :: MarketPrice -> Value toEncoding :: MarketPrice -> Encoding toJSONList :: [MarketPrice] -> Value toEncodingList :: [MarketPrice] -> Encoding omitField :: MarketPrice -> Bool | |||||
| NFData MarketPrice Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: MarketPrice -> () | |||||
| Generic MarketPrice Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show MarketPrice Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> MarketPrice -> ShowS show :: MarketPrice -> String showList :: [MarketPrice] -> ShowS | |||||
| Eq MarketPrice Source # | |||||
Defined in Hledger.Data.Types | |||||
| Ord MarketPrice Source # | |||||
Defined in Hledger.Data.Types Methods compare :: MarketPrice -> MarketPrice -> Ordering (<) :: MarketPrice -> MarketPrice -> Bool (<=) :: MarketPrice -> MarketPrice -> Bool (>) :: MarketPrice -> MarketPrice -> Bool (>=) :: MarketPrice -> MarketPrice -> Bool max :: MarketPrice -> MarketPrice -> MarketPrice min :: MarketPrice -> MarketPrice -> MarketPrice | |||||
| type Rep MarketPrice Source # | |||||
Defined in Hledger.Data.Types type Rep MarketPrice = D1 ('MetaData "MarketPrice" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "MarketPrice" 'PrefixI 'True) ((S1 ('MetaSel ('Just "mpdate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day) :*: S1 ('MetaSel ('Just "mpfrom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CommoditySymbol)) :*: (S1 ('MetaSel ('Just "mpto") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Just "mprate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Quantity)))) | |||||
data MixedAmount Source #
Instances
pattern MixedAmountKeyNoCost :: !CommoditySymbol -> MixedAmountKey Source #
pattern MixedAmountKeyTotalCost :: !CommoditySymbol -> !CommoditySymbol -> MixedAmountKey Source #
pattern MixedAmountKeyUnitCost :: !CommoditySymbol -> !CommoditySymbol -> !Quantity -> MixedAmountKey Source #
data NormalSign Source #
Whether an account's balance is normally a positive number (in accounting terms, a debit balance) or a negative number (credit balance). Assets and expenses are normally positive (debit), while liabilities, equity and income are normally negative (credit). https://en.wikipedia.org/wiki/Normal_balance
Constructors
| NormallyPositive | |
| NormallyNegative |
Instances
| Show NormalSign Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> NormalSign -> ShowS show :: NormalSign -> String showList :: [NormalSign] -> ShowS | |
| Eq NormalSign Source # | |
Defined in Hledger.Data.Types | |
type ParsedJournal = Journal Source #
A journal in the process of being parsed, not yet finalised. The data is partial, and list fields are in reverse order.
data PayeeDeclarationInfo Source #
Extra information found in a payee directive.
Constructors
| PayeeDeclarationInfo | |
Fields
| |
Instances
| ToJSON PayeeDeclarationInfo | |||||
Defined in Hledger.Data.Json Methods toJSON :: PayeeDeclarationInfo -> Value toEncoding :: PayeeDeclarationInfo -> Encoding toJSONList :: [PayeeDeclarationInfo] -> Value toEncodingList :: [PayeeDeclarationInfo] -> Encoding omitField :: PayeeDeclarationInfo -> Bool | |||||
| NFData PayeeDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: PayeeDeclarationInfo -> () | |||||
| Generic PayeeDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Associated Types
Methods from :: PayeeDeclarationInfo -> Rep PayeeDeclarationInfo x to :: Rep PayeeDeclarationInfo x -> PayeeDeclarationInfo | |||||
| Show PayeeDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> PayeeDeclarationInfo -> ShowS show :: PayeeDeclarationInfo -> String showList :: [PayeeDeclarationInfo] -> ShowS | |||||
| Eq PayeeDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: PayeeDeclarationInfo -> PayeeDeclarationInfo -> Bool (/=) :: PayeeDeclarationInfo -> PayeeDeclarationInfo -> Bool | |||||
| type Rep PayeeDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types type Rep PayeeDeclarationInfo = D1 ('MetaData "PayeeDeclarationInfo" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "PayeeDeclarationInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "pdicomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "pditags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Tag]))) | |||||
Constructors
| DayPeriod Day | |
| WeekPeriod Day | |
| MonthPeriod Year Month | |
| QuarterPeriod Year Quarter | |
| YearPeriod Year | |
| PeriodBetween Day Day | |
| PeriodFrom Day | |
| PeriodTo Day | |
| PeriodAll |
Instances
| ToJSON Period | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Period -> Encoding toJSONList :: [Period] -> Value toEncodingList :: [Period] -> Encoding | |||||
| Default Period Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic Period Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show Period Source # | |||||
| Eq Period Source # | |||||
| Ord Period Source # | |||||
| HasAmounts PostingsReportItem Source # | |||||
Defined in Hledger.Reports.PostingsReport Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PostingsReportItem -> PostingsReportItem Source # | |||||
| type Rep Period Source # | |||||
Defined in Hledger.Data.Types type Rep Period = D1 ('MetaData "Period" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (((C1 ('MetaCons "DayPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day)) :+: C1 ('MetaCons "WeekPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day))) :+: (C1 ('MetaCons "MonthPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Year) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Month)) :+: C1 ('MetaCons "QuarterPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Year) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Quarter)))) :+: ((C1 ('MetaCons "YearPeriod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Year)) :+: C1 ('MetaCons "PeriodBetween" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day))) :+: (C1 ('MetaCons "PeriodFrom" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day)) :+: (C1 ('MetaCons "PeriodTo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day)) :+: C1 ('MetaCons "PeriodAll" 'PrefixI 'False) (U1 :: Type -> Type))))) | |||||
data PeriodData a Source #
A general container for storing data values associated with zero or more contiguous report (sub)periods, and with the (open ended) pre-report period. The report periods are typically all the same length, but need not be.
Report periods are represented only by their start dates, used as the keys of a Map.
Constructors
| PeriodData | |
Instances
| Foldable1 PeriodData | |||||
Defined in Hledger.Data.PeriodData Methods fold1 :: Semigroup m => PeriodData m -> m foldMap1 :: Semigroup m => (a -> m) -> PeriodData a -> m foldMap1' :: Semigroup m => (a -> m) -> PeriodData a -> m toNonEmpty :: PeriodData a -> NonEmpty a maximum :: Ord a => PeriodData a -> a minimum :: Ord a => PeriodData a -> a head :: PeriodData a -> a last :: PeriodData a -> a foldrMap1 :: (a -> b) -> (a -> b -> b) -> PeriodData a -> b foldlMap1' :: (a -> b) -> (b -> a -> b) -> PeriodData a -> b foldlMap1 :: (a -> b) -> (b -> a -> b) -> PeriodData a -> b foldrMap1' :: (a -> b) -> (a -> b -> b) -> PeriodData a -> b | |||||
| Functor PeriodData Source # | |||||
Defined in Hledger.Data.Types | |||||
| Foldable PeriodData | |||||
Defined in Hledger.Data.PeriodData Methods fold :: Monoid m => PeriodData m -> m foldMap :: Monoid m => (a -> m) -> PeriodData a -> m foldMap' :: Monoid m => (a -> m) -> PeriodData a -> m foldr :: (a -> b -> b) -> b -> PeriodData a -> b foldr' :: (a -> b -> b) -> b -> PeriodData a -> b foldl :: (b -> a -> b) -> b -> PeriodData a -> b foldl' :: (b -> a -> b) -> b -> PeriodData a -> b foldr1 :: (a -> a -> a) -> PeriodData a -> a foldl1 :: (a -> a -> a) -> PeriodData a -> a toList :: PeriodData a -> [a] null :: PeriodData a -> Bool length :: PeriodData a -> Int elem :: Eq a => a -> PeriodData a -> Bool maximum :: Ord a => PeriodData a -> a minimum :: Ord a => PeriodData a -> a sum :: Num a => PeriodData a -> a product :: Num a => PeriodData a -> a | |||||
| Traversable PeriodData | |||||
Defined in Hledger.Data.PeriodData Methods traverse :: Applicative f => (a -> f b) -> PeriodData a -> f (PeriodData b) sequenceA :: Applicative f => PeriodData (f a) -> f (PeriodData a) mapM :: Monad m => (a -> m b) -> PeriodData a -> m (PeriodData b) sequence :: Monad m => PeriodData (m a) -> m (PeriodData a) | |||||
| FromJSON a => FromJSON (PeriodData a) | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser (PeriodData a) parseJSONList :: Value -> Parser [PeriodData a] omittedField :: Maybe (PeriodData a) | |||||
| ToJSON a => ToJSON (PeriodData a) | |||||
Defined in Hledger.Data.Json Methods toJSON :: PeriodData a -> Value toEncoding :: PeriodData a -> Encoding toJSONList :: [PeriodData a] -> Value toEncodingList :: [PeriodData a] -> Encoding omitField :: PeriodData a -> Bool | |||||
| Monoid a => Monoid (PeriodData a) | |||||
Defined in Hledger.Data.PeriodData Methods mempty :: PeriodData a mappend :: PeriodData a -> PeriodData a -> PeriodData a mconcat :: [PeriodData a] -> PeriodData a | |||||
| Semigroup a => Semigroup (PeriodData a) | The Semigroup instance for | ||||
Defined in Hledger.Data.PeriodData Methods (<>) :: PeriodData a -> PeriodData a -> PeriodData a sconcat :: NonEmpty (PeriodData a) -> PeriodData a stimes :: Integral b => b -> PeriodData a -> PeriodData a | |||||
| Generic (PeriodData a) Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show a => Show (PeriodData a) | |||||
Defined in Hledger.Data.PeriodData Methods showsPrec :: Int -> PeriodData a -> ShowS show :: PeriodData a -> String showList :: [PeriodData a] -> ShowS | |||||
| Eq a => Eq (PeriodData a) Source # | |||||
Defined in Hledger.Data.Types | |||||
| Ord a => Ord (PeriodData a) Source # | |||||
Defined in Hledger.Data.Types Methods compare :: PeriodData a -> PeriodData a -> Ordering (<) :: PeriodData a -> PeriodData a -> Bool (<=) :: PeriodData a -> PeriodData a -> Bool (>) :: PeriodData a -> PeriodData a -> Bool (>=) :: PeriodData a -> PeriodData a -> Bool max :: PeriodData a -> PeriodData a -> PeriodData a min :: PeriodData a -> PeriodData a -> PeriodData a | |||||
| HasAmounts a => HasAmounts (PeriodData a) Source # | |||||
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PeriodData a -> PeriodData a Source # | |||||
| type Rep (PeriodData a) Source # | |||||
Defined in Hledger.Data.Types type Rep (PeriodData a) = D1 ('MetaData "PeriodData" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "PeriodData" 'PrefixI 'True) (S1 ('MetaSel ('Just "pdpre") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Just "pdperiods") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Map Day a)))) | |||||
data PeriodicTransaction Source #
A periodic transaction rule, describing a transaction that recurs.
Constructors
| PeriodicTransaction | |
Fields
| |
Instances
| ToJSON PeriodicTransaction | |||||
Defined in Hledger.Data.Json Methods toJSON :: PeriodicTransaction -> Value toEncoding :: PeriodicTransaction -> Encoding toJSONList :: [PeriodicTransaction] -> Value toEncodingList :: [PeriodicTransaction] -> Encoding omitField :: PeriodicTransaction -> Bool | |||||
| NFData PeriodicTransaction Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: PeriodicTransaction -> () | |||||
| Generic PeriodicTransaction Source # | |||||
Defined in Hledger.Data.Types Associated Types
Methods from :: PeriodicTransaction -> Rep PeriodicTransaction x to :: Rep PeriodicTransaction x -> PeriodicTransaction | |||||
| Show PeriodicTransaction | |||||
Defined in Hledger.Data.PeriodicTransaction Methods showsPrec :: Int -> PeriodicTransaction -> ShowS show :: PeriodicTransaction -> String showList :: [PeriodicTransaction] -> ShowS | |||||
| Eq PeriodicTransaction Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: PeriodicTransaction -> PeriodicTransaction -> Bool (/=) :: PeriodicTransaction -> PeriodicTransaction -> Bool | |||||
| type Rep PeriodicTransaction Source # | |||||
Defined in Hledger.Data.Types type Rep PeriodicTransaction = D1 ('MetaData "PeriodicTransaction" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "PeriodicTransaction" 'PrefixI 'True) (((S1 ('MetaSel ('Just "ptperiodexpr") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "ptinterval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Interval)) :*: (S1 ('MetaSel ('Just "ptspan") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 DateSpan) :*: (S1 ('MetaSel ('Just "ptsourcepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (SourcePos, SourcePos)) :*: S1 ('MetaSel ('Just "ptstatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Status)))) :*: ((S1 ('MetaSel ('Just "ptcode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "ptdescription") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "ptcomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "pttags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Tag]) :*: S1 ('MetaSel ('Just "ptpostings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Posting])))))) | |||||
Constructors
| Posting | |
Fields
| |
Instances
| FromJSON Posting | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser Posting parseJSONList :: Value -> Parser [Posting] omittedField :: Maybe Posting | |||||
| ToJSON Posting | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Posting -> Encoding toJSONList :: [Posting] -> Value toEncodingList :: [Posting] -> Encoding | |||||
| NFData Posting Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic Posting Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show Posting Source # | Posting's show instance elides the parent transaction so as not to recurse forever. | ||||
| Eq Posting Source # | |||||
| HasAmounts Posting Source # | |||||
Defined in Hledger.Data.Posting Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Posting -> Posting Source # | |||||
| HasAmounts PostingsReportItem Source # | |||||
Defined in Hledger.Reports.PostingsReport Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PostingsReportItem -> PostingsReportItem Source # | |||||
| type Rep Posting Source # | |||||
Defined in Hledger.Data.Types type Rep Posting = D1 ('MetaData "Posting" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Posting" 'PrefixI 'True) (((S1 ('MetaSel ('Just "pdate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Day)) :*: S1 ('MetaSel ('Just "pdate2") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Day))) :*: (S1 ('MetaSel ('Just "pstatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Status) :*: (S1 ('MetaSel ('Just "paccount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AccountName) :*: S1 ('MetaSel ('Just "pamount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MixedAmount)))) :*: ((S1 ('MetaSel ('Just "pcomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "ptype") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 PostingType) :*: S1 ('MetaSel ('Just "ptags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Tag]))) :*: (S1 ('MetaSel ('Just "pbalanceassertion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe BalanceAssertion)) :*: (S1 ('MetaSel ('Just "ptransaction") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Transaction)) :*: S1 ('MetaSel ('Just "poriginal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Posting))))))) | |||||
data PostingType Source #
Constructors
| RegularPosting | |
| VirtualPosting | |
| BalancedVirtualPosting |
Instances
| FromJSON PostingType | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser PostingType parseJSONList :: Value -> Parser [PostingType] omittedField :: Maybe PostingType | |||||
| ToJSON PostingType | |||||
Defined in Hledger.Data.Json Methods toJSON :: PostingType -> Value toEncoding :: PostingType -> Encoding toJSONList :: [PostingType] -> Value toEncodingList :: [PostingType] -> Encoding omitField :: PostingType -> Bool | |||||
| NFData PostingType Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: PostingType -> () | |||||
| Generic PostingType Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show PostingType Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> PostingType -> ShowS show :: PostingType -> String showList :: [PostingType] -> ShowS | |||||
| Eq PostingType Source # | |||||
Defined in Hledger.Data.Types | |||||
| type Rep PostingType Source # | |||||
Defined in Hledger.Data.Types type Rep PostingType = D1 ('MetaData "PostingType" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "RegularPosting" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "VirtualPosting" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BalancedVirtualPosting" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
data PriceDirective Source #
A market price declaration made by the journal format's P directive. It declares two things: a historical exchange rate between two commodities, and an amount display style for the second commodity.
Constructors
| PriceDirective | |
Fields
| |
Instances
| ToJSON PriceDirective | |||||
Defined in Hledger.Data.Json Methods toJSON :: PriceDirective -> Value toEncoding :: PriceDirective -> Encoding toJSONList :: [PriceDirective] -> Value toEncodingList :: [PriceDirective] -> Encoding omitField :: PriceDirective -> Bool | |||||
| NFData PriceDirective Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: PriceDirective -> () | |||||
| Generic PriceDirective Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show PriceDirective Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> PriceDirective -> ShowS show :: PriceDirective -> String showList :: [PriceDirective] -> ShowS | |||||
| Eq PriceDirective Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: PriceDirective -> PriceDirective -> Bool (/=) :: PriceDirective -> PriceDirective -> Bool | |||||
| Ord PriceDirective Source # | |||||
Defined in Hledger.Data.Types Methods compare :: PriceDirective -> PriceDirective -> Ordering (<) :: PriceDirective -> PriceDirective -> Bool (<=) :: PriceDirective -> PriceDirective -> Bool (>) :: PriceDirective -> PriceDirective -> Bool (>=) :: PriceDirective -> PriceDirective -> Bool max :: PriceDirective -> PriceDirective -> PriceDirective min :: PriceDirective -> PriceDirective -> PriceDirective | |||||
| type Rep PriceDirective Source # | |||||
Defined in Hledger.Data.Types type Rep PriceDirective = D1 ('MetaData "PriceDirective" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "PriceDirective" 'PrefixI 'True) ((S1 ('MetaSel ('Just "pdsourcepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SourcePos) :*: S1 ('MetaSel ('Just "pddate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day)) :*: (S1 ('MetaSel ('Just "pdcommodity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Just "pdamount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Amount)))) | |||||
"Rounding strategy" - how to apply an AmountStyle's display precision to a posting amount (and its cost, if any). Mainly used to customise print's output, with --round=none|soft|hard|all.
Constructors
| NoRounding | keep display precisions unchanged in amt and cost |
| SoftRounding | do soft rounding of amt and cost amounts (show more or fewer decimal zeros to approximate the target precision, but don't hide significant digits) |
| HardRounding | do hard rounding of amt (use the exact target precision, possibly hiding significant digits), and soft rounding of cost |
| AllRounding | do hard rounding of amt and cost |
Instances
| FromJSON Rounding | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser Rounding parseJSONList :: Value -> Parser [Rounding] omittedField :: Maybe Rounding | |||||
| ToJSON Rounding | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Rounding -> Encoding toJSONList :: [Rounding] -> Value toEncodingList :: [Rounding] -> Encoding | |||||
| NFData Rounding Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic Rounding Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Read Rounding Source # | |||||
Defined in Hledger.Data.Types | |||||
| Show Rounding Source # | |||||
| Eq Rounding Source # | |||||
| Ord Rounding Source # | |||||
Defined in Hledger.Data.Types | |||||
| type Rep Rounding Source # | |||||
Defined in Hledger.Data.Types type Rep Rounding = D1 ('MetaData "Rounding" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) ((C1 ('MetaCons "NoRounding" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SoftRounding" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "HardRounding" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AllRounding" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
One of the standard *-separated value file types known by hledger,
Instances
| FromJSON Side | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser Side parseJSONList :: Value -> Parser [Side] omittedField :: Maybe Side | |||||
| ToJSON Side | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Side -> Encoding toJSONList :: [Side] -> Value toEncodingList :: [Side] -> Encoding | |||||
| NFData Side Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic Side Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Read Side Source # | |||||
Defined in Hledger.Data.Types | |||||
| Show Side Source # | |||||
| Eq Side Source # | |||||
| Ord Side Source # | |||||
| type Rep Side Source # | |||||
Defined in Hledger.Data.Types type Rep Side = D1 ('MetaData "Side" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "L" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "R" 'PrefixI 'False) (U1 :: Type -> Type)) | |||||
A possibly incomplete year-month-day date provided by the user, to be
interpreted as either a date or a date span depending on context. Missing
parts "on the left" will be filled from the provided reference date, e.g. if
the year and month are missing, the reference date's year and month are used.
Missing parts "on the right" are assumed, when interpreting as a date, to be
1, (e.g. if the year and month are present but the day is missing, it means
first day of that month); or when interpreting as a date span, to be a
wildcard (so it would mean all days of that month). See the smartdate
parser for more examples.
Or, one of the standard periods and an offset relative to the reference date: (last|this|next) (day|week|month|quarter|year), where "this" means the period containing the reference date.
Constructors
| SmartCompleteDate Day | |
| SmartAssumeStart Year (Maybe Month) | |
| SmartFromReference (Maybe Month) MonthDay | |
| SmartMonth Month | |
| SmartRelative Integer SmartInterval |
data SmartInterval Source #
Instances
| Show SmartInterval Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> SmartInterval -> ShowS show :: SmartInterval -> String showList :: [SmartInterval] -> ShowS | |
The status of a transaction or posting, recorded with a status mark (nothing, !, or *). What these mean is ultimately user defined.
Instances
| FromJSON Status | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser Status parseJSONList :: Value -> Parser [Status] omittedField :: Maybe Status | |||||
| ToJSON Status | |||||
Defined in Hledger.Data.Json Methods toEncoding :: Status -> Encoding toJSONList :: [Status] -> Value toEncodingList :: [Status] -> Encoding | |||||
| NFData Status Source # | |||||
Defined in Hledger.Data.Types | |||||
| Bounded Status Source # | |||||
Defined in Hledger.Data.Types | |||||
| Enum Status Source # | |||||
Defined in Hledger.Data.Types | |||||
| Generic Status Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show Status Source # | |||||
| Eq Status Source # | |||||
| Ord Status Source # | |||||
| type Rep Status Source # | |||||
Defined in Hledger.Data.Types type Rep Status = D1 ('MetaData "Status" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Unmarked" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Pending" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cleared" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
data StorageFormat Source #
The id of a data format understood by hledger, eg journal or csv.
The --output-format option selects one of these for output.
Instances
| Show StorageFormat Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> StorageFormat -> ShowS show :: StorageFormat -> String showList :: [StorageFormat] -> ShowS | |
| Eq StorageFormat Source # | |
Defined in Hledger.Data.Types | |
| Ord StorageFormat Source # | |
Defined in Hledger.Data.Types Methods compare :: StorageFormat -> StorageFormat -> Ordering (<) :: StorageFormat -> StorageFormat -> Bool (<=) :: StorageFormat -> StorageFormat -> Bool (>) :: StorageFormat -> StorageFormat -> Bool (>=) :: StorageFormat -> StorageFormat -> Bool max :: StorageFormat -> StorageFormat -> StorageFormat min :: StorageFormat -> StorageFormat -> StorageFormat | |
data TMPostingRule Source #
A transaction modifier transformation, which adds an extra posting to the matched posting's transaction. Can be like a regular posting, or can have the tmprIsMultiplier flag set, indicating that it's a multiplier for the matched posting's amount.
Constructors
| TMPostingRule | |
Fields
| |
Instances
| ToJSON TMPostingRule | |||||
Defined in Hledger.Data.Json Methods toJSON :: TMPostingRule -> Value toEncoding :: TMPostingRule -> Encoding toJSONList :: [TMPostingRule] -> Value toEncodingList :: [TMPostingRule] -> Encoding omitField :: TMPostingRule -> Bool | |||||
| NFData TMPostingRule Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: TMPostingRule -> () | |||||
| Generic TMPostingRule Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show TMPostingRule Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> TMPostingRule -> ShowS show :: TMPostingRule -> String showList :: [TMPostingRule] -> ShowS | |||||
| Eq TMPostingRule Source # | |||||
Defined in Hledger.Data.Types | |||||
| type Rep TMPostingRule Source # | |||||
Defined in Hledger.Data.Types type Rep TMPostingRule = D1 ('MetaData "TMPostingRule" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "TMPostingRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "tmprPosting") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Posting) :*: S1 ('MetaSel ('Just "tmprIsMultiplier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) | |||||
newtype TagDeclarationInfo Source #
Extra information found in a tag directive.
Constructors
| TagDeclarationInfo | |
Fields
| |
Instances
| ToJSON TagDeclarationInfo | |||||
Defined in Hledger.Data.Json Methods toJSON :: TagDeclarationInfo -> Value toEncoding :: TagDeclarationInfo -> Encoding toJSONList :: [TagDeclarationInfo] -> Value toEncodingList :: [TagDeclarationInfo] -> Encoding omitField :: TagDeclarationInfo -> Bool | |||||
| NFData TagDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: TagDeclarationInfo -> () | |||||
| Generic TagDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Associated Types
Methods from :: TagDeclarationInfo -> Rep TagDeclarationInfo x to :: Rep TagDeclarationInfo x -> TagDeclarationInfo | |||||
| Show TagDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> TagDeclarationInfo -> ShowS show :: TagDeclarationInfo -> String showList :: [TagDeclarationInfo] -> ShowS | |||||
| Eq TagDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: TagDeclarationInfo -> TagDeclarationInfo -> Bool (/=) :: TagDeclarationInfo -> TagDeclarationInfo -> Bool | |||||
| type Rep TagDeclarationInfo Source # | |||||
Defined in Hledger.Data.Types type Rep TagDeclarationInfo = D1 ('MetaData "TagDeclarationInfo" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'True) (C1 ('MetaCons "TagDeclarationInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "tdicomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))) | |||||
data TimeclockCode Source #
Constructors
| SetBalance | |
| SetRequiredHours | |
| In | |
| Out | |
| FinalOut |
Instances
| ToJSON TimeclockCode | |||||
Defined in Hledger.Data.Json Methods toJSON :: TimeclockCode -> Value toEncoding :: TimeclockCode -> Encoding toJSONList :: [TimeclockCode] -> Value toEncodingList :: [TimeclockCode] -> Encoding omitField :: TimeclockCode -> Bool | |||||
| NFData TimeclockCode Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: TimeclockCode -> () | |||||
| Generic TimeclockCode Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Read TimeclockCode | |||||
Defined in Hledger.Data.Timeclock Methods readsPrec :: Int -> ReadS TimeclockCode readList :: ReadS [TimeclockCode] readPrec :: ReadPrec TimeclockCode readListPrec :: ReadPrec [TimeclockCode] | |||||
| Show TimeclockCode | |||||
Defined in Hledger.Data.Timeclock Methods showsPrec :: Int -> TimeclockCode -> ShowS show :: TimeclockCode -> String showList :: [TimeclockCode] -> ShowS | |||||
| Eq TimeclockCode Source # | |||||
Defined in Hledger.Data.Types | |||||
| Ord TimeclockCode Source # | |||||
Defined in Hledger.Data.Types Methods compare :: TimeclockCode -> TimeclockCode -> Ordering (<) :: TimeclockCode -> TimeclockCode -> Bool (<=) :: TimeclockCode -> TimeclockCode -> Bool (>) :: TimeclockCode -> TimeclockCode -> Bool (>=) :: TimeclockCode -> TimeclockCode -> Bool max :: TimeclockCode -> TimeclockCode -> TimeclockCode min :: TimeclockCode -> TimeclockCode -> TimeclockCode | |||||
| type Rep TimeclockCode Source # | |||||
Defined in Hledger.Data.Types type Rep TimeclockCode = D1 ('MetaData "TimeclockCode" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) ((C1 ('MetaCons "SetBalance" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SetRequiredHours" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "In" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Out" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FinalOut" 'PrefixI 'False) (U1 :: Type -> Type)))) | |||||
data TimeclockEntry Source #
Constructors
| TimeclockEntry | |
Fields
| |
Instances
| ToJSON TimeclockEntry | |||||
Defined in Hledger.Data.Json Methods toJSON :: TimeclockEntry -> Value toEncoding :: TimeclockEntry -> Encoding toJSONList :: [TimeclockEntry] -> Value toEncodingList :: [TimeclockEntry] -> Encoding omitField :: TimeclockEntry -> Bool | |||||
| NFData TimeclockEntry Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: TimeclockEntry -> () | |||||
| Generic TimeclockEntry Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show TimeclockEntry | |||||
Defined in Hledger.Data.Timeclock Methods showsPrec :: Int -> TimeclockEntry -> ShowS show :: TimeclockEntry -> String showList :: [TimeclockEntry] -> ShowS | |||||
| Eq TimeclockEntry Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: TimeclockEntry -> TimeclockEntry -> Bool (/=) :: TimeclockEntry -> TimeclockEntry -> Bool | |||||
| Ord TimeclockEntry Source # | |||||
Defined in Hledger.Data.Types Methods compare :: TimeclockEntry -> TimeclockEntry -> Ordering (<) :: TimeclockEntry -> TimeclockEntry -> Bool (<=) :: TimeclockEntry -> TimeclockEntry -> Bool (>) :: TimeclockEntry -> TimeclockEntry -> Bool (>=) :: TimeclockEntry -> TimeclockEntry -> Bool max :: TimeclockEntry -> TimeclockEntry -> TimeclockEntry min :: TimeclockEntry -> TimeclockEntry -> TimeclockEntry | |||||
| type Rep TimeclockEntry Source # | |||||
Defined in Hledger.Data.Types type Rep TimeclockEntry = D1 ('MetaData "TimeclockEntry" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "TimeclockEntry" 'PrefixI 'True) ((S1 ('MetaSel ('Just "tlsourcepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SourcePos) :*: (S1 ('MetaSel ('Just "tlcode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TimeclockCode) :*: S1 ('MetaSel ('Just "tldatetime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LocalTime))) :*: ((S1 ('MetaSel ('Just "tlaccount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 AccountName) :*: S1 ('MetaSel ('Just "tldescription") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "tlcomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "tltags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Tag]))))) | |||||
data Transaction Source #
Constructors
| Transaction | |
Fields
| |
Instances
| FromJSON Transaction | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser Transaction parseJSONList :: Value -> Parser [Transaction] omittedField :: Maybe Transaction | |||||
| ToJSON Transaction | |||||
Defined in Hledger.Data.Json Methods toJSON :: Transaction -> Value toEncoding :: Transaction -> Encoding toJSONList :: [Transaction] -> Value toEncodingList :: [Transaction] -> Encoding omitField :: Transaction -> Bool | |||||
| NFData Transaction Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: Transaction -> () | |||||
| Generic Transaction Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show Transaction Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> Transaction -> ShowS show :: Transaction -> String showList :: [Transaction] -> ShowS | |||||
| Eq Transaction Source # | |||||
Defined in Hledger.Data.Types | |||||
| HasAmounts Transaction Source # | |||||
Defined in Hledger.Data.Transaction Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Transaction -> Transaction Source # | |||||
| HasAmounts AccountTransactionsReportItem Source # | |||||
Defined in Hledger.Reports.AccountTransactionsReport Methods styleAmounts :: Map CommoditySymbol AmountStyle -> AccountTransactionsReportItem -> AccountTransactionsReportItem Source # | |||||
| type Rep Transaction Source # | |||||
Defined in Hledger.Data.Types type Rep Transaction = D1 ('MetaData "Transaction" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "Transaction" 'PrefixI 'True) (((S1 ('MetaSel ('Just "tindex") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: S1 ('MetaSel ('Just "tprecedingcomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "tsourcepos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (SourcePos, SourcePos)) :*: (S1 ('MetaSel ('Just "tdate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Day) :*: S1 ('MetaSel ('Just "tdate2") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Day))))) :*: ((S1 ('MetaSel ('Just "tstatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Status) :*: (S1 ('MetaSel ('Just "tcode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "tdescription") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text))) :*: (S1 ('MetaSel ('Just "tcomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "ttags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Tag]) :*: S1 ('MetaSel ('Just "tpostings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Posting])))))) | |||||
data TransactionModifier Source #
A transaction modifier rule. This has a query which matches postings in the journal, and a list of transformations to apply to those postings or their transactions. Currently there is one kind of transformation: the TMPostingRule, which adds a posting ("auto posting") to the transaction, optionally setting its amount to the matched posting's amount multiplied by a constant.
Constructors
| TransactionModifier | |
Fields
| |
Instances
| ToJSON TransactionModifier | |||||
Defined in Hledger.Data.Json Methods toJSON :: TransactionModifier -> Value toEncoding :: TransactionModifier -> Encoding toJSONList :: [TransactionModifier] -> Value toEncodingList :: [TransactionModifier] -> Encoding omitField :: TransactionModifier -> Bool | |||||
| NFData TransactionModifier Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: TransactionModifier -> () | |||||
| Generic TransactionModifier Source # | |||||
Defined in Hledger.Data.Types Associated Types
Methods from :: TransactionModifier -> Rep TransactionModifier x to :: Rep TransactionModifier x -> TransactionModifier | |||||
| Show TransactionModifier Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> TransactionModifier -> ShowS show :: TransactionModifier -> String showList :: [TransactionModifier] -> ShowS | |||||
| Eq TransactionModifier Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: TransactionModifier -> TransactionModifier -> Bool (/=) :: TransactionModifier -> TransactionModifier -> Bool | |||||
| type Rep TransactionModifier Source # | |||||
Defined in Hledger.Data.Types type Rep TransactionModifier = D1 ('MetaData "TransactionModifier" "Hledger.Data.Types" "hledger-lib-1.51.1-Ly8iNEfwJs5LOwOFqQW1QJ" 'False) (C1 ('MetaCons "TransactionModifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "tmquerytxt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "tmpostingrules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TMPostingRule]))) | |||||
Constructors
| PrimaryDate | |
| SecondaryDate |
Instances
module Hledger.Data.Valuation