Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class HasSalak env where
- buildSalak :: (MonadIO m, MonadCatch m) => String -> Factory m () Salak
- class Monad m => MonadSalak (m :: Type -> Type) where
- askSourcePack :: m SourcePack
- askReload :: m (IO ReloadResult)
- setLogF :: (CallStack -> Text -> IO ()) -> m ()
- logSalak :: Text -> m ()
- require :: (MonadThrow m, MonadIO m, FromProp m a) => Text -> m a
Documentation
buildSalak :: (MonadIO m, MonadCatch m) => String -> Factory m () Salak Source #
Configuration Functions
class Monad m => MonadSalak (m :: Type -> Type) where #
Core type class of salak, which provide function to parse properties.
askSourcePack :: m SourcePack #
Monad has the ability to get a SourcePack instance.
askReload :: m (IO ReloadResult) #
Get reload action which used for reload profiles
setLogF :: (CallStack -> Text -> IO ()) -> m () #
require :: (MonadThrow m, MonadIO m, FromProp m a) => Text -> m a #
Parse properties using FromProp
. For example:
a :: Bool <- require "bool.key" b :: Maybe Int <- require "int.optional.key" c :: Either String Int <- require "int.error.key" d :: IO Int <- require "int.reloadable.key"
require
supports parse IO
values, which actually wrap a MVar
variable and can be reseted by reloading configurations.
Normal value will not be affected by reloading configurations.
Instances
Orphan instances
(HasSalak env, Monad m) => MonadSalak (Factory m env) Source # | |
askSourcePack :: Factory m env SourcePack # askReload :: Factory m env (IO ReloadResult) # setLogF :: (CallStack -> Text -> IO ()) -> Factory m env () # logSalak :: Text -> Factory m env () # require :: (MonadThrow (Factory m env), MonadIO (Factory m env), FromProp (Factory m env) a) => Text -> Factory m env a # | |
(HasSalak env, Monad m) => MonadSalak (AppT env m) Source # | |