module Penny.Cabin.Balance.Convert.Options where
import qualified Penny.Cabin.Balance.Convert.Parser as P
import qualified Penny.Cabin.Parsers as CP
import qualified Penny.Cabin.Options as CO
import qualified Penny.Shield as S
data DefaultOpts = DefaultOpts
{ showZeroBalances :: CO.ShowZeroBalances
, target :: P.Target
, sortOrder :: CP.SortOrder
, sortBy :: P.SortBy
}
toParserOpts :: DefaultOpts -> S.Runtime -> P.Opts
toParserOpts d rt = P.Opts
{ P.showZeroBalances = showZeroBalances d
, P.target = target d
, P.dateTime = S.currentTime rt
, P.sortOrder = sortOrder d
, P.sortBy = sortBy d
, P.percentRpt = Nothing
}
defaultOptions :: DefaultOpts
defaultOptions = DefaultOpts
{ showZeroBalances = CO.ShowZeroBalances False
, target = P.AutoTarget
, sortOrder = CP.Ascending
, sortBy = P.SortByName
}