| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Hledger.Data.Types
Contents
Description
Most data types are defined here to avoid import cycles. Here is an overview of the hledger data model:
Journal -- a journal is read from one or more data files. It contains.. [Transaction] -- journal transactions (aka entries), which have date, cleared status, code, description and.. [Posting] -- multiple account postings, which have account name and amount [MarketPrice] -- historical market prices for commodities Ledger -- a ledger is derived from a journal, by applying a filter specification and doing some further processing. It contains.. Journal -- a filtered copy of the original journal, containing only the transactions and postings we are interested in [Account] -- all accounts, in tree order beginning with a "root" account", with their balances and sub/parent accounts
For more detailed documentation on each type, see the corresponding modules.
Synopsis
- data Side
- type Tag = (TagName, TagValue)
- data AccountType
- data SepFormat
- data Status
- data MixedAmountKey
- newtype MixedAmount = Mixed (Map MixedAmountKey Amount)
- data Account a = Account {
- aname :: AccountName
- adeclarationinfo :: Maybe AccountDeclarationInfo
- asubs :: [Account a]
- aparent :: Maybe (Account a)
- aboring :: Bool
- adata :: PeriodData a
- type AccountName = Text
- data Amount = Amount {
- acommodity :: !CommoditySymbol
- aquantity :: !Quantity
- astyle :: !AmountStyle
- acost :: !(Maybe AmountCost)
- data BalanceData = BalanceData {}
- 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 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 StorageFormat
- data Transaction = Transaction {}
- data TransactionModifier = TransactionModifier {
- tmquerytxt :: Text
- tmpostingrules :: [TMPostingRule]
- data SmartInterval
- fromEFDay :: EFDay -> Day
- modifyEFDay :: (Day -> Day) -> EFDay -> EFDay
- type MonthDay = Int
- data Interval
- = NoInterval
- | Days Int
- | Weeks Int
- | Months Int
- | Quarters Int
- | Years Int
- | NthWeekdayOfMonth Int Int
- | MonthDay Int
- | MonthAndDay Int Int
- | DaysOfWeek [Int]
- type CommoditySymbol = Text
- data AmountPrecision
- = Precision !Word8
- | NaturalPrecision
- data AmountStyle = AmountStyle {
- ascommodityside :: !Side
- ascommodityspaced :: !Bool
- asdigitgroups :: !(Maybe DigitGroupStyle)
- asdecimalmark :: !(Maybe Char)
- asprecision :: !AmountPrecision
- asrounding :: !Rounding
- type Month = Int
- type YearDay = Int
- type Quarter = Int
- data EFDay
- type YearWeek = Int
- type MonthWeek = Int
- type WeekDay = Int
- data SmartDate
- = SmartCompleteDate Day
- | SmartAssumeStart Year (Maybe Month)
- | SmartFromReference (Maybe Month) MonthDay
- | SmartMonth Month
- | SmartRelative Integer SmartInterval
- data WhichDate
- data DateSpan = DateSpan (Maybe EFDay) (Maybe EFDay)
- type Payee = Text
- data DepthSpec = DepthSpec {
- dsFlatDepth :: Maybe Int
- dsRegexpDepths :: [(Regexp, Int)]
- isBalanceSheetAccountType :: AccountType -> Bool
- isIncomeStatementAccountType :: AccountType -> Bool
- isAccountSubtypeOf :: AccountType -> AccountType -> Bool
- data AccountAlias
- type DecimalMark = Char
- isDecimalMark :: Char -> Bool
- type Quantity = Decimal
- data AmountCost
- data DigitGroupStyle = DigitGroups !Char ![Word8]
- data Rounding
- data Commodity = Commodity {
- csymbol :: CommoditySymbol
- cformat :: Maybe AmountStyle
- class HasAmounts a where
- styleAmounts :: Map CommoditySymbol AmountStyle -> a -> a
- maCompare :: MixedAmount -> MixedAmount -> Ordering
- data PostingType
- type TagName = Text
- type TagValue = Text
- type HiddenTag = Tag
- type DateTag = (TagName, Day)
- toHiddenTag :: Tag -> HiddenTag
- toHiddenTagName :: TagName -> TagName
- toVisibleTag :: HiddenTag -> Tag
- toVisibleTagName :: TagName -> TagName
- isHiddenTagName :: TagName -> Bool
- nullsourcepos :: SourcePos
- nullsourcepospair :: (SourcePos, SourcePos)
- data BalanceAssertion = BalanceAssertion {
- baamount :: Amount
- batotal :: Bool
- bainclusive :: Bool
- baposition :: SourcePos
- data TMPostingRule = TMPostingRule {
- tmprPosting :: Posting
- tmprIsMultiplier :: Bool
- nulltransactionmodifier :: TransactionModifier
- nullperiodictransaction :: PeriodicTransaction
- 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 PriceDirective = PriceDirective {
- pdsourcepos :: SourcePos
- pddate :: Day
- pdcommodity :: CommoditySymbol
- pdamount :: Amount
- data MarketPrice = MarketPrice {
- mpdate :: Day
- mpfrom :: CommoditySymbol
- mpto :: CommoditySymbol
- mprate :: Quantity
- showMarketPrice :: MarketPrice -> String
- showMarketPrices :: [MarketPrice] -> [Char]
- data PayeeDeclarationInfo = PayeeDeclarationInfo {
- pdicomment :: Text
- pditags :: [Tag]
- newtype TagDeclarationInfo = TagDeclarationInfo {
- tdicomment :: Text
- data AccountDeclarationInfo = AccountDeclarationInfo {
- adicomment :: Text
- aditags :: [Tag]
- adideclarationorder :: Int
- adisourcepos :: SourcePos
- type ParsedJournal = Journal
- nullpayeedeclarationinfo :: PayeeDeclarationInfo
- nulltagdeclarationinfo :: TagDeclarationInfo
- nullaccountdeclarationinfo :: AccountDeclarationInfo
- data NormalSign
- type Year = Integer
Documentation
Instances
| FromJSON Side Source # | |||||
| ToJSON Side Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" 'False) (C1 ('MetaCons "L" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "R" 'PrefixI 'False) (U1 :: Type -> Type)) | |||||
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 Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: AccountType -> Value Source # toEncoding :: AccountType -> Encoding Source # toJSONList :: [AccountType] -> Value Source # toEncodingList :: [AccountType] -> Encoding Source # omitField :: AccountType -> Bool Source # | |||||
| ToJSONKey AccountType Source # | |||||
Defined in Hledger.Data.Json Methods | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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)))) | |||||
One of the standard *-separated value file types known by hledger,
The status of a transaction or posting, recorded with a status mark (nothing, !, or *). What these mean is ultimately user defined.
Instances
| FromJSON Status Source # | |||||
| ToJSON Status Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 MixedAmountKey Source #
Stores the CommoditySymbol of the Amount, along with the CommoditySymbol of the cost, and its unit cost if being used.
Constructors
| MixedAmountKeyNoCost !CommoditySymbol | |
| MixedAmountKeyTotalCost !CommoditySymbol !CommoditySymbol | |
| MixedAmountKeyUnitCost !CommoditySymbol !CommoditySymbol !Quantity |
Instances
| NFData MixedAmountKey Source # | |||||
Defined in Hledger.Data.Types Methods rnf :: MixedAmountKey -> () | |||||
| Generic MixedAmountKey Source # | |||||
Defined in Hledger.Data.Types Associated Types
| |||||
| Show MixedAmountKey Source # | |||||
Defined in Hledger.Data.Types Methods showsPrec :: Int -> MixedAmountKey -> ShowS show :: MixedAmountKey -> String showList :: [MixedAmountKey] -> ShowS | |||||
| Eq MixedAmountKey Source # | |||||
Defined in Hledger.Data.Types Methods (==) :: MixedAmountKey -> MixedAmountKey -> Bool (/=) :: MixedAmountKey -> MixedAmountKey -> Bool | |||||
| Ord MixedAmountKey Source # | We don't auto-derive the Ord instance because it would give an undesired ordering. We want the keys to be sorted lexicographically: (1) By the primary commodity of the amount. (2) By the commodity of the cost, with no cost being first. (3) By the unit cost, from most negative to most positive, with total costs before unit costs. For example, we would like the ordering to give MixedAmountKeyNoCost X < MixedAmountKeyTotalCost X Z < MixedAmountKeyNoCost Y | ||||
Defined in Hledger.Data.Types Methods compare :: MixedAmountKey -> MixedAmountKey -> Ordering # (<) :: MixedAmountKey -> MixedAmountKey -> Bool (<=) :: MixedAmountKey -> MixedAmountKey -> Bool (>) :: MixedAmountKey -> MixedAmountKey -> Bool (>=) :: MixedAmountKey -> MixedAmountKey -> Bool max :: MixedAmountKey -> MixedAmountKey -> MixedAmountKey min :: MixedAmountKey -> MixedAmountKey -> MixedAmountKey | |||||
| type Rep MixedAmountKey Source # | |||||
Defined in Hledger.Data.Types type Rep MixedAmountKey = D1 ('MetaData "MixedAmountKey" "Hledger.Data.Types" "hledger-lib-1.50.3-B5cScLja0vH7uTyjotPffY" 'False) (C1 ('MetaCons "MixedAmountKeyNoCost" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommoditySymbol)) :+: (C1 ('MetaCons "MixedAmountKeyTotalCost" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommoditySymbol)) :+: C1 ('MetaCons "MixedAmountKeyUnitCost" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommoditySymbol) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 CommoditySymbol) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Quantity))))) | |||||
newtype MixedAmount Source #
Constructors
| Mixed (Map MixedAmountKey Amount) |
Instances
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) Source # | |||||
| ToJSON a => ToJSON (Account a) Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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)))))) | |||||
type AccountName = Text Source #
Constructors
| Amount | |
Fields
| |
Instances
| FromJSON Amount Source # | |||||
| ToJSON Amount Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 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 Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser BalanceData Source # parseJSONList :: Value -> Parser [BalanceData] Source # omittedField :: Maybe BalanceData Source # | |||||
| ToJSON BalanceData Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: BalanceData -> Value Source # toEncoding :: BalanceData -> Encoding Source # toJSONList :: [BalanceData] -> Value Source # toEncodingList :: [BalanceData] -> Encoding Source # omitField :: BalanceData -> Bool Source # | |||||
| Monoid BalanceData | |||||
Defined in Hledger.Data.BalanceData Methods mempty :: BalanceData # mappend :: BalanceData -> BalanceData -> BalanceData mconcat :: [BalanceData] -> 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.50.3-B5cScLja0vH7uTyjotPffY" '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)))) | |||||
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 Source # | |||||
| Default Journal Source # | |||||
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.50.3-B5cScLja0vH7uTyjotPffY" '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 Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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]))) | |||||
Constructors
| DayPeriod Day | |
| WeekPeriod Day | |
| MonthPeriod Year Month | |
| QuarterPeriod Year Quarter | |
| YearPeriod Year | |
| PeriodBetween Day Day | |
| PeriodFrom Day | |
| PeriodTo Day | |
| PeriodAll |
Instances
| ToJSON Period Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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) Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser (PeriodData a) Source # parseJSONList :: Value -> Parser [PeriodData a] Source # omittedField :: Maybe (PeriodData a) Source # | |||||
| ToJSON a => ToJSON (PeriodData a) Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: PeriodData a -> Value Source # toEncoding :: PeriodData a -> Encoding Source # toJSONList :: [PeriodData a] -> Value Source # toEncodingList :: [PeriodData a] -> Encoding Source # omitField :: PeriodData a -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: PeriodicTransaction -> Value Source # toEncoding :: PeriodicTransaction -> Encoding Source # toJSONList :: [PeriodicTransaction] -> Value Source # toEncodingList :: [PeriodicTransaction] -> Encoding Source # omitField :: PeriodicTransaction -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 Source # | |||||
| ToJSON Posting Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 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 Transaction Source #
Constructors
| Transaction | |
Fields
| |
Instances
| FromJSON Transaction Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser Transaction Source # parseJSONList :: Value -> Parser [Transaction] Source # omittedField :: Maybe Transaction Source # | |||||
| ToJSON Transaction Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: Transaction -> Value Source # toEncoding :: Transaction -> Encoding Source # toJSONList :: [Transaction] -> Value Source # toEncodingList :: [Transaction] -> Encoding Source # omitField :: Transaction -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: TransactionModifier -> Value Source # toEncoding :: TransactionModifier -> Encoding Source # toJSONList :: [TransactionModifier] -> Value Source # toEncodingList :: [TransactionModifier] -> Encoding Source # omitField :: TransactionModifier -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" 'False) (C1 ('MetaCons "TransactionModifier" 'PrefixI 'True) (S1 ('MetaSel ('Just "tmquerytxt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "tmpostingrules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TMPostingRule]))) | |||||
data SmartInterval Source #
Instances
| Show SmartInterval Source # | |
Defined in Hledger.Data.Types Methods showsPrec :: Int -> SmartInterval -> ShowS show :: SmartInterval -> String showList :: [SmartInterval] -> ShowS | |
modifyEFDay :: (Day -> Day) -> EFDay -> EFDay Source #
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 Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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])))))) | |||||
type CommoditySymbol = Text Source #
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 Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser AmountPrecision Source # parseJSONList :: Value -> Parser [AmountPrecision] Source # omittedField :: Maybe AmountPrecision Source # | |||||
| ToJSON AmountPrecision Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: AmountPrecision -> Value Source # toEncoding :: AmountPrecision -> Encoding Source # toJSONList :: [AmountPrecision] -> Value Source # toEncodingList :: [AmountPrecision] -> Encoding Source # omitField :: AmountPrecision -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser AmountStyle Source # parseJSONList :: Value -> Parser [AmountStyle] Source # omittedField :: Maybe AmountStyle Source # | |||||
| ToJSON AmountStyle Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: AmountStyle -> Value Source # toEncoding :: AmountStyle -> Encoding Source # toJSONList :: [AmountStyle] -> Value Source # toEncodingList :: [AmountStyle] -> Encoding Source # omitField :: AmountStyle -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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))))) | |||||
A date which is either exact or flexible. Flexible dates are allowed to be adjusted in certain situations.
Instances
| ToJSON EFDay Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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))) | |||||
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 |
Constructors
| PrimaryDate | |
| SecondaryDate |
Instances
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 Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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)))) | |||||
Constructors
| DepthSpec | |
Fields
| |
isBalanceSheetAccountType :: AccountType -> Bool Source #
isIncomeStatementAccountType :: AccountType -> Bool Source #
isAccountSubtypeOf :: AccountType -> AccountType -> Bool Source #
Check whether the first argument is a subtype of the second: either equal or one of the defined subtypes.
data AccountAlias Source #
Constructors
| BasicAlias AccountName AccountName | |
| RegexAlias Regexp Replacement |
Instances
| ToJSON AccountAlias Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: AccountAlias -> Value Source # toEncoding :: AccountAlias -> Encoding Source # toJSONList :: [AccountAlias] -> Value Source # toEncodingList :: [AccountAlias] -> Encoding Source # omitField :: AccountAlias -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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))) | |||||
type DecimalMark = Char Source #
One of the decimal marks we support: either period or comma.
isDecimalMark :: Char -> Bool Source #
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 Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser AmountCost Source # parseJSONList :: Value -> Parser [AmountCost] Source # omittedField :: Maybe AmountCost Source # | |||||
| ToJSON AmountCost Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: AmountCost -> Value Source # toEncoding :: AmountCost -> Encoding Source # toJSONList :: [AmountCost] -> Value Source # toEncodingList :: [AmountCost] -> Encoding Source # omitField :: AmountCost -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 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 Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser DigitGroupStyle Source # parseJSONList :: Value -> Parser [DigitGroupStyle] Source # omittedField :: Maybe DigitGroupStyle Source # | |||||
| ToJSON DigitGroupStyle Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: DigitGroupStyle -> Value Source # toEncoding :: DigitGroupStyle -> Encoding Source # toJSONList :: [DigitGroupStyle] -> Value Source # toEncodingList :: [DigitGroupStyle] -> Encoding Source # omitField :: DigitGroupStyle -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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]))) | |||||
"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 Source # | |||||
| ToJSON Rounding Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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))) | |||||
Constructors
| Commodity | |
Fields
| |
Instances
| ToJSON Commodity Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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)))) | |||||
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
| HasAmounts Amount Source # | |
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Amount -> Amount Source # | |
| HasAmounts BalanceAssertion Source # | |
Defined in Hledger.Data.Posting Methods styleAmounts :: Map CommoditySymbol AmountStyle -> BalanceAssertion -> BalanceAssertion Source # | |
| HasAmounts BalanceData Source # | |
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> BalanceData -> BalanceData Source # | |
| HasAmounts MixedAmount Source # | |
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> MixedAmount -> MixedAmount Source # | |
| HasAmounts Posting Source # | |
Defined in Hledger.Data.Posting Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Posting -> Posting Source # | |
| 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 # | |
| HasAmounts BalanceReportItem Source # | |
Defined in Hledger.Reports.BalanceReport Methods styleAmounts :: Map CommoditySymbol AmountStyle -> BalanceReportItem -> BalanceReportItem Source # | |
| HasAmounts PostingsReportItem Source # | |
Defined in Hledger.Reports.PostingsReport Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PostingsReportItem -> PostingsReportItem Source # | |
| HasAmounts a => HasAmounts (Account a) Source # | |
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Account a -> Account a Source # | |
| HasAmounts a => HasAmounts (PeriodData a) Source # | |
Defined in Hledger.Data.Amount Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PeriodData a -> PeriodData a Source # | |
| HasAmounts a => HasAmounts (Maybe a) Source # | |
Defined in Hledger.Data.Types Methods styleAmounts :: Map CommoditySymbol AmountStyle -> Maybe a -> Maybe a Source # | |
| HasAmounts a => HasAmounts [a] Source # | |
Defined in Hledger.Data.Types Methods styleAmounts :: Map CommoditySymbol AmountStyle -> [a] -> [a] Source # | |
| HasAmounts b => HasAmounts (CompoundPeriodicReport a b) Source # | |
Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> CompoundPeriodicReport a b -> CompoundPeriodicReport a b Source # | |
| HasAmounts b => HasAmounts (PeriodicReport a b) Source # | |
Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PeriodicReport a b -> PeriodicReport a b Source # | |
| HasAmounts b => HasAmounts (PeriodicReportRow a b) Source # | |
Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> PeriodicReportRow a b -> PeriodicReportRow a b Source # | |
| (HasAmounts a, HasAmounts b) => HasAmounts (a, b) Source # | |
Defined in Hledger.Data.Types Methods styleAmounts :: Map CommoditySymbol AmountStyle -> (a, b) -> (a, b) Source # | |
| HasAmounts b => HasAmounts (Text, PeriodicReport a b, Bool) Source # | |
Defined in Hledger.Reports.ReportTypes Methods styleAmounts :: Map CommoditySymbol AmountStyle -> (Text, PeriodicReport a b, Bool) -> (Text, PeriodicReport a b, Bool) Source # | |
maCompare :: MixedAmount -> MixedAmount -> Ordering Source #
Compare two MixedAmounts, substituting 0 for the quantity of any missing commodities in either.
data PostingType Source #
Constructors
| RegularPosting | |
| VirtualPosting | |
| BalancedVirtualPosting |
Instances
| FromJSON PostingType Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser PostingType Source # parseJSONList :: Value -> Parser [PostingType] Source # omittedField :: Maybe PostingType Source # | |||||
| ToJSON PostingType Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: PostingType -> Value Source # toEncoding :: PostingType -> Encoding Source # toJSONList :: [PostingType] -> Value Source # toEncodingList :: [PostingType] -> Encoding Source # omitField :: PostingType -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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))) | |||||
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.
isHiddenTagName :: TagName -> Bool Source #
Does this tag name begin with the hidden tag prefix (_) ?
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 Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser BalanceAssertion Source # parseJSONList :: Value -> Parser [BalanceAssertion] Source # omittedField :: Maybe BalanceAssertion Source # | |||||
| ToJSON BalanceAssertion Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: BalanceAssertion -> Value Source # toEncoding :: BalanceAssertion -> Encoding Source # toJSONList :: [BalanceAssertion] -> Value Source # toEncodingList :: [BalanceAssertion] -> Encoding Source # omitField :: BalanceAssertion -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 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 Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: TMPostingRule -> Value Source # toEncoding :: TMPostingRule -> Encoding Source # toJSONList :: [TMPostingRule] -> Value Source # toEncodingList :: [TMPostingRule] -> Encoding Source # omitField :: TMPostingRule -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" 'False) (C1 ('MetaCons "TMPostingRule" 'PrefixI 'True) (S1 ('MetaSel ('Just "tmprPosting") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Posting) :*: S1 ('MetaSel ('Just "tmprIsMultiplier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) | |||||
data TimeclockCode Source #
Constructors
| SetBalance | |
| SetRequiredHours | |
| In | |
| Out | |
| FinalOut |
Instances
| ToJSON TimeclockCode Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: TimeclockCode -> Value Source # toEncoding :: TimeclockCode -> Encoding Source # toJSONList :: [TimeclockCode] -> Value Source # toEncodingList :: [TimeclockCode] -> Encoding Source # omitField :: TimeclockCode -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: TimeclockEntry -> Value Source # toEncoding :: TimeclockEntry -> Encoding Source # toJSONList :: [TimeclockEntry] -> Value Source # toEncodingList :: [TimeclockEntry] -> Encoding Source # omitField :: TimeclockEntry -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 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 Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: PriceDirective -> Value Source # toEncoding :: PriceDirective -> Encoding Source # toJSONList :: [PriceDirective] -> Value Source # toEncodingList :: [PriceDirective] -> Encoding Source # omitField :: PriceDirective -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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)))) | |||||
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 Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser MarketPrice Source # parseJSONList :: Value -> Parser [MarketPrice] Source # omittedField :: Maybe MarketPrice Source # | |||||
| ToJSON MarketPrice Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: MarketPrice -> Value Source # toEncoding :: MarketPrice -> Encoding Source # toJSONList :: [MarketPrice] -> Value Source # toEncodingList :: [MarketPrice] -> Encoding Source # omitField :: MarketPrice -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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)))) | |||||
showMarketPrice :: MarketPrice -> String Source #
showMarketPrices :: [MarketPrice] -> [Char] Source #
data PayeeDeclarationInfo Source #
Extra information found in a payee directive.
Constructors
| PayeeDeclarationInfo | |
Fields
| |
Instances
| ToJSON PayeeDeclarationInfo Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: PayeeDeclarationInfo -> Value Source # toEncoding :: PayeeDeclarationInfo -> Encoding Source # toJSONList :: [PayeeDeclarationInfo] -> Value Source # toEncodingList :: [PayeeDeclarationInfo] -> Encoding Source # omitField :: PayeeDeclarationInfo -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" 'False) (C1 ('MetaCons "PayeeDeclarationInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "pdicomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "pditags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Tag]))) | |||||
newtype TagDeclarationInfo Source #
Extra information found in a tag directive.
Constructors
| TagDeclarationInfo | |
Fields
| |
Instances
| ToJSON TagDeclarationInfo Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: TagDeclarationInfo -> Value Source # toEncoding :: TagDeclarationInfo -> Encoding Source # toJSONList :: [TagDeclarationInfo] -> Value Source # toEncodingList :: [TagDeclarationInfo] -> Encoding Source # omitField :: TagDeclarationInfo -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" 'True) (C1 ('MetaCons "TagDeclarationInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "tdicomment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))) | |||||
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 Source # | |||||
Defined in Hledger.Data.Json Methods parseJSON :: Value -> Parser AccountDeclarationInfo Source # parseJSONList :: Value -> Parser [AccountDeclarationInfo] Source # omittedField :: Maybe AccountDeclarationInfo Source # | |||||
| ToJSON AccountDeclarationInfo Source # | |||||
Defined in Hledger.Data.Json Methods toJSON :: AccountDeclarationInfo -> Value Source # toEncoding :: AccountDeclarationInfo -> Encoding Source # toJSONList :: [AccountDeclarationInfo] -> Value Source # toEncodingList :: [AccountDeclarationInfo] -> Encoding Source # omitField :: AccountDeclarationInfo -> Bool Source # | |||||
| 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.50.3-B5cScLja0vH7uTyjotPffY" '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 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 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 | |
Orphan instances
| ToMarkup Quantity Source # | |||||
| Generic (DecimalRaw a) Source # | |||||
Associated Types
| |||||