module Taskell.IO.Config.Trello ( Config , defaultConfig , parser , token ) where import ClassyPrelude import Data.Ini.Config import Taskell.IO.HTTP.Trello (TrelloToken) data Config = Config { Config -> Maybe TrelloToken token :: Maybe TrelloToken } defaultConfig :: Config defaultConfig :: Config defaultConfig = Config :: Maybe TrelloToken -> Config Config {token :: Maybe TrelloToken token = Maybe TrelloToken forall a. Maybe a Nothing} tokenP :: SectionParser (Maybe TrelloToken) tokenP :: SectionParser (Maybe TrelloToken) tokenP = TrelloToken -> SectionParser (Maybe TrelloToken) fieldMb TrelloToken "token" parser :: IniParser Config parser :: IniParser Config parser = Config -> Maybe Config -> Config forall a. a -> Maybe a -> a fromMaybe Config defaultConfig (Maybe Config -> Config) -> IniParser (Maybe Config) -> IniParser Config forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> TrelloToken -> SectionParser Config -> IniParser (Maybe Config) forall a. TrelloToken -> SectionParser a -> IniParser (Maybe a) sectionMb TrelloToken "trello" (Maybe TrelloToken -> Config Config (Maybe TrelloToken -> Config) -> SectionParser (Maybe TrelloToken) -> SectionParser Config forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> SectionParser (Maybe TrelloToken) tokenP)