module Penny.Lincoln.Bits (
O.SubAccount(SubAccount, unSubAccount),
O.Account(Account, unAccount),
O.Amount(Amount, qty, commodity, side, spaceBetween),
O.Commodity(Commodity, unCommodity),
DT.TimeZoneOffset ( offsetToMins ),
DT.minsToOffset,
DT.noOffset,
DT.Hours ( unHours ),
DT.intToHours,
DT.zeroHours,
DT.Minutes ( unMinutes ),
DT.intToMinutes,
DT.zeroMinutes,
DT.midnight,
DT.Seconds ( unSeconds ),
DT.intToSeconds,
DT.zeroSeconds,
DT.DateTime ( .. ),
DT.dateTimeMidnightUTC,
DT.toUTC,
DT.toZonedTime,
DT.fromZonedTime,
DT.sameInstant,
DT.showDateTime,
O.DrCr(Debit, Credit),
O.opposite,
O.Entry(Entry, drCr, amount),
O.Flag(Flag, unFlag),
O.Memo(Memo, unMemo),
O.Number(Number, unNumber),
O.Payee(Payee, unPayee),
Pr.From(From, unFrom), Pr.To(To, unTo),
Pr.CountPerUnit(CountPerUnit, unCountPerUnit),
Pr.Price(from, to, countPerUnit),
Pr.convert, Pr.newPrice,
PricePoint ( .. ),
Q.Qty, Q.NumberStr(..), Q.toQty, Q.mantissa, Q.places,
Q.add, Q.mult, Q.difference, Q.equivalent, Q.newQty,
Q.Mantissa, Q.Places,
Q.Difference(Q.LeftBiggerBy, Q.RightBiggerBy, Q.Equal),
Q.allocate,
O.Tag(Tag, unTag),
O.Tags(Tags, unTags),
O.TopLineLine(..),
O.TopMemoLine(..),
O.Side(..),
O.SpaceBetween(..),
O.Filename(..),
O.PriceLine(..),
O.PostingLine(..),
O.GlobalPosting(..),
O.FilePosting(..),
O.GlobalTransaction(..),
O.FileTransaction(..)
) where
import qualified Penny.Lincoln.Bits.Open as O
import qualified Penny.Lincoln.Bits.DateTime as DT
import qualified Penny.Lincoln.Bits.Price as Pr
import qualified Penny.Lincoln.Bits.Qty as Q
data PricePoint = PricePoint { dateTime :: DT.DateTime
, price :: Pr.Price
, ppSide :: Maybe O.Side
, ppSpaceBetween :: Maybe O.SpaceBetween
, priceLine :: Maybe O.PriceLine }
deriving (Eq, Show)