simple-templates 0.7.0.2 → 0.8.0.0
raw patch · 4 files changed
+19/−8 lines, 4 filesdep +scientificdep ~aeson
Dependencies added: scientific
Dependency ranges changed: aeson
Files
- simple-templates.cabal +5/−3
- src/Web/Simple/Templates/Language.hs +11/−3
- src/Web/Simple/Templates/Parser.hs +1/−2
- test/Spec.hs +2/−0
simple-templates.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: simple-templates-version: 0.7.0.2+version: 0.8.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@@ -30,8 +30,9 @@ , Web.Simple.Templates.Types build-depends: base < 6- , aeson+ , aeson >= 0.7 , attoparsec+ , scientific , text , unordered-containers , vector@@ -43,10 +44,11 @@ main-is: Spec.hs build-depends: base < 6- , aeson+ , aeson >= 0.7 , attoparsec , HUnit , hspec+ , scientific , simple-templates , vector default-language: Haskell2010
src/Web/Simple/Templates/Language.hs view
@@ -37,11 +37,12 @@ import Control.Applicative import qualified Data.HashMap.Strict as H+import Data.Aeson import Data.Maybe import Data.Monoid+import Data.Scientific import Data.Text (Text) import qualified Data.Text as T-import Data.Aeson import qualified Data.Vector as V import qualified Data.Attoparsec.Text as A import Web.Simple.Templates.Parser@@ -130,11 +131,18 @@ valueToText val = case val of String str -> str- Number n -> T.pack $ show n- Bool b -> T.pack $ show b+ Number n -> fromScientific n+ Bool True -> "True"+ Bool False -> "False" Array _ -> "[array]" Object _ -> "[object]" Null -> ""++fromScientific :: Scientific -> Text+fromScientific n+ | e < 0 = T.pack $ show n+ | otherwise = T.pack $ show $ coefficient n * 10 ^ e+ where e = base10Exponent n compileTemplate :: Text -> Either String Template compileTemplate tmpl = evaluate <$>
src/Web/Simple/Templates/Parser.hs view
@@ -132,8 +132,7 @@ A.satisfy (/= '"') pNumber :: A.Parser AST-pNumber = ASTLiteral . Number . fromRational . toRational <$>- A.number+pNumber = ASTLiteral . Number <$> A.rational pArray :: A.Parser AST pArray = do
test/Spec.hs view
@@ -2,9 +2,11 @@ module Main where import Test.Hspec+import qualified Web.Simple.Templates.LanguageSpec import qualified Web.Simple.Templates.ParserSpec main :: IO () main = hspec $ do+ Web.Simple.Templates.LanguageSpec.spec Web.Simple.Templates.ParserSpec.spec