Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class HasSalak env where
- askSourcePack :: Lens' env SourcePack
- buildSalak :: (MonadIO m, MonadCatch m) => String -> Factory m () Salak
- class Monad m => MonadSalak (m :: Type -> Type) where
- askSalak :: m SourcePack
- askReload :: m (IO ReloadResult)
- setLogF :: (String -> IO ()) -> m ()
- logSalak :: String -> m ()
- require :: (MonadThrow m, FromProp m a) => Text -> m a
Documentation
class HasSalak env where Source #
askSourcePack :: Lens' env SourcePack Source #
Instances
HasSalak SourcePack Source # | |
Defined in Boots.Factory.Salak | |
HasSalak (AppEnv cxt) Source # | |
Defined in Boots.Factory.Application askSourcePack :: Lens' (AppEnv cxt) SourcePack Source # |
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.
askSalak :: m SourcePack #
Monad has the ability to get a SourcePack
instance.
askReload :: m (IO ReloadResult) #
Get reload action which used for reload profiles
setLogF :: (String -> IO ()) -> m () #
require :: (MonadThrow 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
(m ~ t m', Monad m', Monad m, MonadTrans t, MonadSalak m') => MonadSalak m | |
Defined in Salak.Internal.Prop | |
MonadIO m => MonadSalak (LoadSalakT m) | |
Defined in Salak.Internal askSalak :: LoadSalakT m SourcePack # askReload :: LoadSalakT m (IO ReloadResult) # setLogF :: (String -> IO ()) -> LoadSalakT m () # logSalak :: String -> LoadSalakT m () # require :: (MonadThrow (LoadSalakT m), FromProp (LoadSalakT m) a) => Text -> LoadSalakT m a # | |
Monad m => MonadSalak (RunSalakT m) | |
Monad m => MonadSalak (Prop m) | |
(HasSalak env, Monad m) => MonadSalak (Factory m env) Source # | |
Defined in Boots.Factory.Salak | |
(HasSalak env, Monad m) => MonadSalak (AppT env m) Source # | |