Copyright | (c) 2022 Dmitrii Kovanikov |
---|---|
License | MPL-2.0 |
Maintainer | Dmitrii Kovanikov <kovanikov@gmail.com> |
Stability | Experimental |
Portability | Portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Environment of a CLI app.
Since: 0.0.0.0
Synopsis
- data CliEnvSettings (cmd :: Type) (appEnv :: Type) = CliEnvSettings {}
- defaultCliEnvSettings :: CliEnvSettings () ()
- data CliEnv (cmd :: Type) (appEnv :: Type) = CliEnv {}
- newtype CliEnvException = CliEnvException {}
- newtype CliEnvError = CliEnvToolError ToolCheckResult
- mkCliEnv :: forall cmd appEnv. CliEnvSettings cmd appEnv -> IO (CliEnv cmd appEnv)
- asksCliEnv :: MonadReader (CliEnv cmd appEnv) m => (CliEnv cmd appEnv -> field) -> m field
- asksAppEnv :: MonadReader (CliEnv cmd appEnv) m => (appEnv -> field) -> m field
Settings for the CLI app
data CliEnvSettings (cmd :: Type) (appEnv :: Type) Source #
Since: 0.0.0.0
CliEnvSettings | |
|
defaultCliEnvSettings :: CliEnvSettings () () Source #
Since: 0.0.0.0
CLI application environment
Constructing
data CliEnv (cmd :: Type) (appEnv :: Type) Source #
CLI application environment. It contains default settings for every CLI app and parameter
Has the following type parameters:
cmd
— application commandsappEnv
— application-specific environment; use()
if you don't have custom app environment
Since: 0.0.0.0
CliEnv | |
|
Instances
newtype CliEnvException Source #
Since: 0.0.0.0
Instances
Exception CliEnvException Source # | Since: 0.0.0.0 |
Defined in Iris.Env | |
Show CliEnvException Source # | Since: 0.0.0.0 |
Defined in Iris.Env showsPrec :: Int -> CliEnvException -> ShowS # show :: CliEnvException -> String # showList :: [CliEnvException] -> ShowS # | |
Eq CliEnvException Source # | Since: 0.0.0.0 |
Defined in Iris.Env (==) :: CliEnvException -> CliEnvException -> Bool # (/=) :: CliEnvException -> CliEnvException -> Bool # |
newtype CliEnvError Source #
Since: 0.0.0.0
CliEnvToolError ToolCheckResult | Since: 0.0.0.0 |
Instances
Show CliEnvError Source # | Since: 0.0.0.0 |
Defined in Iris.Env showsPrec :: Int -> CliEnvError -> ShowS # show :: CliEnvError -> String # showList :: [CliEnvError] -> ShowS # | |
Eq CliEnvError Source # | Since: 0.0.0.0 |
Defined in Iris.Env (==) :: CliEnvError -> CliEnvError -> Bool # (/=) :: CliEnvError -> CliEnvError -> Bool # |
mkCliEnv :: forall cmd appEnv. CliEnvSettings cmd appEnv -> IO (CliEnv cmd appEnv) Source #
Throws: CliEnvException
Since: 0.0.0.0
Querying
asksCliEnv :: MonadReader (CliEnv cmd appEnv) m => (CliEnv cmd appEnv -> field) -> m field Source #
Get a field from the global environment CliEnv
.
Since: 0.0.0.0
asksAppEnv :: MonadReader (CliEnv cmd appEnv) m => (appEnv -> field) -> m field Source #
Get a field from custom application-specific environment
appEnv
.
Since: 0.0.0.0