module Conferer.Provider.Simple
(
mkMapProvider
, mkMapProvider'
, mkPureMapProvider
) where
import Data.Map (Map)
import qualified Data.Map as Map
import Data.Text (Text)
import Conferer.Types
mkMapProvider' :: Map Key Text -> ProviderCreator
mkMapProvider' configMap _config =
return $ mkPureMapProvider configMap
mkPureMapProvider :: Map Key Text -> Provider
mkPureMapProvider configMap =
Provider
{ getKeyInProvider =
\k -> do
return $ Map.lookup k configMap
}
mkMapProvider :: [(Key, Text)] -> ProviderCreator
mkMapProvider = mkMapProvider' . Map.fromList