envy-0.1.0.0: An environmentally friendly way to deal with environment variables

Copyright(c) David Johnson 2015
Maintainerdjohnson.m@ngmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

System.Envy

Contents

Description

 

Synopsis

Types

newtype Env Source

Environment

Constructors

Env 

Fields

env :: Map String String
 

Instances

Show Env 
FromEnv Env

Identity instance

Classes

class FromEnv a where Source

FromEnv Typeclass

Methods

fromEnv :: Env -> Parser a Source

Instances

FromEnv Env

Identity instance

class Show a => ToEnv a where Source

ToEnv Typeclass

Methods

toEnv :: EnvList a Source

class (Read a, Show a) => Var a where Source

Class for converting to / from an environment variable

Methods

toVar :: a -> String Source

fromVar :: String -> Maybe a Source

Functions

loadEnv :: IO Env Source

Environment loading

decodeEnv :: FromEnv a => IO (Either String a) Source

Environment retrieval with failure info

decode :: FromEnv a => IO (Maybe a) Source

Environment retrieval (with no failure info)

showEnv :: Env -> IO () Source

Env helper

setEnvironment :: EnvList a -> IO (Either String ()) Source

Set environment via a ToEnv constrained type

unsetEnvironment :: EnvList a -> IO (Either String ()) Source

Unset Environment from a ToEnv constrained type

makeEnv :: ToEnv a => [EnvVar] -> EnvList a Source

smart constructor, Environment creation helper

data EnvList a Source

EnvList type w/ phanton

Instances

(.=) :: Var a => String -> a -> EnvVar Source

Infix environment variable setter this is a smart constructor for producing types of EnvVar

(.:) :: forall a. (Typeable a, Var a) => String -> Env -> Parser a Source

Infix environment variable getter

(.:?) :: forall a. (Typeable a, Var a) => String -> Env -> Parser (Maybe a) Source

Maybe parser

(.!=) :: forall a. (Typeable a, Var a) => Parser (Maybe a) -> a -> Parser a Source

For use with (.:?) for providing default arguments