| 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 |
Iris.Env
Description
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
Constructors
| CliEnvSettings | |
Fields
| |
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
Constructors
| CliEnv | |
Fields
| |
Instances
| MonadReader (CliEnv cmd appEnv) (CliApp cmd appEnv) Source # | Since: 0.0.0.0 |
newtype CliEnvException Source #
Since: 0.0.0.0
Constructors
| CliEnvException | |
Fields | |
Instances
| Exception CliEnvException Source # | Since: 0.0.0.0 |
Defined in Iris.Env Methods toException :: CliEnvException -> SomeException # | |
| Show CliEnvException Source # | Since: 0.0.0.0 |
Defined in Iris.Env Methods showsPrec :: Int -> CliEnvException -> ShowS # show :: CliEnvException -> String # showList :: [CliEnvException] -> ShowS # | |
| Eq CliEnvException Source # | Since: 0.0.0.0 |
Defined in Iris.Env Methods (==) :: CliEnvException -> CliEnvException -> Bool # (/=) :: CliEnvException -> CliEnvException -> Bool # | |
newtype CliEnvError Source #
Since: 0.0.0.0
Constructors
| CliEnvToolError ToolCheckResult | Since: 0.0.0.0 |
Instances
| Show CliEnvError Source # | Since: 0.0.0.0 |
Defined in Iris.Env Methods showsPrec :: Int -> CliEnvError -> ShowS # show :: CliEnvError -> String # showList :: [CliEnvError] -> ShowS # | |
| Eq CliEnvError Source # | Since: 0.0.0.0 |
Defined in Iris.Env | |
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