simple-templates 0.8.0.1 → 0.9.0.0
raw patch · 2 files changed
+6/−3 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Web.Simple.Templates.Types: instance GHC.Base.Semigroup Web.Simple.Templates.Types.Template
- Web.Simple.Templates.Types: ASTArray :: (Vector AST) -> AST
+ Web.Simple.Templates.Types: ASTArray :: Vector AST -> AST
- Web.Simple.Templates.Types: ASTFor :: (Maybe Identifier) -> Identifier -> AST -> AST -> (Maybe AST) -> AST
+ Web.Simple.Templates.Types: ASTFor :: Maybe Identifier -> Identifier -> AST -> AST -> Maybe AST -> AST
- Web.Simple.Templates.Types: ASTIf :: AST -> AST -> (Maybe AST) -> AST
+ Web.Simple.Templates.Types: ASTIf :: AST -> AST -> Maybe AST -> AST
Files
simple-templates.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: simple-templates-version: 0.8.0.1+version: 0.9.0.0 synopsis: A basic template language for the Simple web framework description: A basic template language for the Simple web framework. The language supports
src/Web/Simple/Templates/Types.hs view
@@ -4,6 +4,7 @@ import qualified Data.HashMap.Strict as H import Data.Monoid+import Data.Semigroup import Data.Text (Text) import Data.Aeson import qualified Data.Vector as V@@ -60,10 +61,12 @@ newtype Template = Template { renderTemplate :: FunctionMap -> Value -> Text } +instance Semigroup Template where+ tm1 <> tm2 = Template $ \fm global ->+ renderTemplate tm1 fm global <> renderTemplate tm2 fm global+ instance Monoid Template where mempty = Template $ const $ const mempty- tm1 `mappend` tm2 = Template $ \fm global ->- renderTemplate tm1 fm global <> renderTemplate tm2 fm global -- | A symbol identifier following the format [a-z][a-zA-Z0-9_-]* type Identifier = Text