module Conferer.Source.Simple
(
mkMapSource
, mkMapSource'
, mkPureMapSource
) where
import Data.Map (Map)
import qualified Data.Map as Map
import Data.Text (Text)
import Conferer.Types
mkMapSource' :: Map Key Text -> SourceCreator
mkMapSource' configMap _config =
return $ mkPureMapSource configMap
mkPureMapSource :: Map Key Text -> Source
mkPureMapSource configMap =
Source
{ getKeyInSource =
\k -> do
return $ Map.lookup k configMap
}
mkMapSource :: [(Key, Text)] -> SourceCreator
mkMapSource = mkMapSource' . Map.fromList