module Hledger.Data.Commodity
where
import Hledger.Data.Utils
import Hledger.Data.Types
unknown = Commodity {symbol="", side=L,spaced=False,comma=False,precision=0}
dollar = Commodity {symbol="$", side=L,spaced=False,comma=False,precision=2}
euro = Commodity {symbol="EUR",side=L,spaced=False,comma=False,precision=2}
pound = Commodity {symbol="£", side=L,spaced=False,comma=False,precision=2}
hour = Commodity {symbol="h", side=R,spaced=False,comma=False,precision=1}
dollars n = Amount dollar n Nothing
euros n = Amount euro n Nothing
pounds n = Amount pound n Nothing
hours n = Amount hour n Nothing
defaultcommodities = [dollar, euro, pound, hour, unknown]
comm :: String -> Commodity
comm sym = fromMaybe
(error "commodity lookup failed")
$ find (\(Commodity{symbol=s}) -> s==sym) defaultcommodities
conversionRate :: Commodity -> Commodity -> Double
conversionRate _ _ = 1