panfiguration-0.0: Merge environment variables and command line options generically
Safe HaskellSafe-Inferred
LanguageHaskell2010

Panfiguration.Core

Synopsis

Documentation

data Panfiguration h Source #

Constructors

Panfiguration 

Instances

Instances details
Monoid (Panfiguration h) Source # 
Instance details

Defined in Panfiguration.Core

Semigroup (Panfiguration h) Source # 
Instance details

Defined in Panfiguration.Core

data Result a Source #

Constructors

Result 

Instances

Instances details
FromParam a => Monoid (Result a) Source # 
Instance details

Defined in Panfiguration.Core

Methods

mempty :: Result a #

mappend :: Result a -> Result a -> Result a #

mconcat :: [Result a] -> Result a #

FromParam a => Semigroup (Result a) Source # 
Instance details

Defined in Panfiguration.Core

Methods

(<>) :: Result a -> Result a -> Result a #

sconcat :: NonEmpty (Result a) -> Result a #

stimes :: Integral b => b -> Result a -> Result a #

Show a => Show (Result a) Source # 
Instance details

Defined in Panfiguration.Core

Methods

showsPrec :: Int -> Result a -> ShowS #

show :: Result a -> String #

showList :: [Result a] -> ShowS #

Eq a => Eq (Result a) Source # 
Instance details

Defined in Panfiguration.Core

Methods

(==) :: Result a -> Result a -> Bool #

(/=) :: Result a -> Result a -> Bool #

Ord a => Ord (Result a) Source # 
Instance details

Defined in Panfiguration.Core

Methods

compare :: Result a -> Result a -> Ordering #

(<) :: Result a -> Result a -> Bool #

(<=) :: Result a -> Result a -> Bool #

(>) :: Result a -> Result a -> Bool #

(>=) :: Result a -> Result a -> Bool #

max :: Result a -> Result a -> Result a #

min :: Result a -> Result a -> Result a #

data Source h Source #

Constructors

Source 

Fields

declCase :: Case -> Panfiguration h Source #

Set the letter case of the data declaration

asCase :: Panfiguration h -> Case -> Panfiguration h Source #

Set the letter case of the sources

withNames :: Panfiguration h -> (h (Const String) -> h (Const String)) -> Panfiguration h Source #

Update names being used for the backends

fullDefaults :: (BareB b, FunctorB (b Covered)) => b Bare Identity -> Panfiguration (b Covered) Source #

Provide all the default values by a plain record

exec :: Panfigurable h => Panfiguration h -> IO (h Result) Source #

Parse all the relevant environment variables and command line options, then merges them.