Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Text.StringTemplates.Fields
Contents
Description
Module for easy creating template params
Example usage:
-- applicable to renderTemplate, renderTemplateI functions fields :: Fields Identity () fields = do value "foo" "bar" valueM "foo2" $ return "bar2" object "foo3" $ do value "foo31" "bar31" value "foo32" "bar32" objects "foo4" [ do value "foo411" "bar411" value "foo412" "bar412" , do value "foo421" "bar421" value "foo422" "bar422" ] -- applicable to renderTemplateMain functions params :: [(String, SElem String)] params = runIdentity $ runFields fields
Synopsis
- newtype Fields m a = Fields {
- unFields :: InnerFields m a
- runFields :: Monad m => Fields m () -> m [(String, SElem String)]
- value :: (Monad m, ToSElem a) => String -> a -> Fields m ()
- valueM :: (Monad m, ToSElem a) => String -> m a -> Fields m ()
- object :: Monad m => String -> Fields m () -> Fields m ()
- objects :: Monad m => String -> [Fields m ()] -> Fields m ()
Documentation
Simple monad transformer that collects info about template params
Instances
runFields :: Monad m => Fields m () -> m [(String, SElem String)] Source #
get all collected template params
value :: (Monad m, ToSElem a) => String -> a -> Fields m () Source #
create a new named template parameter
valueM :: (Monad m, ToSElem a) => String -> m a -> Fields m () Source #
create a new named template parameter (monad version)
object :: Monad m => String -> Fields m () -> Fields m () Source #
collect all params under a new namespace
objects :: Monad m => String -> [Fields m ()] -> Fields m () Source #
collect all params under a new list namespace