yaml-config-0.2.0: src/Data/Yaml/Config.hs
{-# LANGUAGE NoImplicitPrelude #-}
-- | Library for read config files in YAML format.
--
-- example.yaml:
--
--
-- > server:
-- > port: 8080
-- > logs:
-- > access: /var/log/server/access.log
-- > error: /var/log/server/error.log
--
--
-- Usage example:
--
--
-- > module Main where
-- > import Prelude hiding (lookup)
-- > import Data.Word (Word16)
-- > import Data.Yaml.Config (load, subconfig, lookupDefault, lookup)
-- >
-- > main :: IO ()
-- > main = do
-- > config <- load "./example.yaml"
-- >
-- > serverConfig <- subconfig "server" config
-- > let interface = lookupDefault "interface" "127.0.0.1" serverConfig
-- > port :: Word16 = lookupDefault "port" 80 serverConfig
-- >
-- > logConfig <- subconfig "logs" serverConfig
-- > accessLog <- lookup "access" logConfig
-- > errorLog <- lookup "error" logConfig
-- >
-- > mapM_ putStrLn [interface, (show port), errorLog, accessLog]
--
module Data.Yaml.Config
( Config
, Key
, KeyError(..)
, load
, keys
, subconfig
, lookup
, lookupDefault
) where
import Data.Yaml.Config.Internal