headroom-0.4.3.0: License Header Manager
Copyright(c) 2019-2022 Vaclav Svejcar
LicenseBSD-3-Clause
Maintainervaclav.svejcar@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Headroom.Config

Description

This module provides logic for working with the cofiguration data types. Headroom uses the partial options monoid pattern for the configuration.

Synopsis

Loading & Parsing Configuration

loadAppConfig :: (MonadIO m, MonadThrow m) => FilePath -> m PtAppConfig Source #

Loads and parses application configuration from given YAML file.

parseAppConfig Source #

Arguments

:: MonadThrow m 
=> ByteString

raw input to parse

-> m PtAppConfig

parsed application configuration

Parses application configuration from given raw input in YAML format.

Processing Partial Configuration

makeAppConfig Source #

Arguments

:: MonadThrow m 
=> PtAppConfig

source PtAppConfig

-> m CtAppConfig

full CtAppConfig

Makes full CtAppConfig from provided PtAppConfig (if valid).

makeHeaderConfig Source #

Arguments

:: MonadThrow m 
=> FileType

determines file type of configuration

-> PtHeaderConfig

source PtHeaderConfig

-> m CtHeaderConfig

full CtHeaderConfig

Makes full CtHeaderConfig from provided PtHeaderConfig (if valid).