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 CliEnv (cmd :: Type) (appEnv :: Type) = CliEnv {}
- 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
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
mkCliEnv :: forall cmd appEnv. CliEnvSettings cmd appEnv -> IO (CliEnv cmd appEnv) Source #
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