-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Environment Variable Parser
--
-- See README.md
@package EVP
@version 0
module EVP
type Name = String
data Error
Missing :: Name -> Error
ParseError :: Name -> String -> Error
-- | Obtain the environment variable.
string :: IsString a => Name -> Scan a
-- | Parse the environment variable as a YAML value.
yaml :: (Show a, FromJSON a) => Name -> Scan a
parse :: Show a => Name -> (String -> Either String a) -> Scan a
-- | Disable logging of parsed values.
secret :: Scan a -> Scan a
stringDefault :: IsString a => Name -> String -> Scan a
-- | Parse the environment variable as a YAML value.
yamlDefault :: (Show a, FromJSON a) => Name -> a -> Scan a
parseDefault :: Show a => Name -> a -> (String -> Either String a) -> Scan a
data Settings
Settings :: (Name -> String -> IO ()) -> (Error -> IO ()) -> (Name -> Maybe (IO ())) -> Bool -> Settings
[parseLogger] :: Settings -> Name -> String -> IO ()
[errorLogger] :: Settings -> Error -> IO ()
[unusedLogger] :: Settings -> Name -> Maybe (IO ())
-- | exit on warning
[pedantic] :: Settings -> Bool
def :: Default a => a
scan :: Scan a -> IO a
scanWith :: Settings -> Scan a -> IO a
-- | Enumerate the names of the variables it would parse.
enumerate :: Scan a -> [Name]
-- | Custom logging function for unusedLogger.
-- assumePrefix p prints a warning for each unused
-- environment variable prefixed by p.
assumePrefix :: String -> Name -> Maybe (IO ())
-- | obsolete names prints a warning if any of the
-- names is set but not used.
obsolete :: [Name] -> Name -> Maybe (IO ())
data Scan a
[Pure] :: a -> Scan a
[Var] :: Name -> (Maybe String -> Either Error (String, a)) -> Scan (a -> b) -> Scan b
instance GHC.Show.Show EVP.Error
instance Data.Default.Class.Default EVP.Settings
instance GHC.Base.Functor EVP.Scan
instance GHC.Base.Applicative EVP.Scan