yaml-config-0.1.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 config "server"
-- let interface = lookupDefault serverConfig "interface" "127.0.0.1"
-- port :: Word16 = lookupDefault serverConfig "port" 80
--
-- logConfig <- subconfig serverConfig "logs"
-- accessLog <- lookup logConfig "access"
-- errorLog <- lookup logConfig "error"
--
-- mapM_ putStrLn [interface, (show port), errorLog, accessLog]
-- @
--
module Data.Yaml.Config
( Config
, Key
, load
, keys
, subconfig
, lookup
, lookupDefault
) where
import Data.Yaml.Config.Internal