json2 0.8 → 0.8.1
raw patch · 2 files changed
+13/−13 lines, 2 filesdep ~blaze-builder
Dependency ranges changed: blaze-builder
Files
- json2.cabal +2/−2
- src/Data/JSON2/Blaze.hs +11/−11
json2.cabal view
@@ -1,5 +1,5 @@ Name: json2-Version: 0.8+Version: 0.8.1 Synopsis: Library provides support for JSON. Category: Data, Text, JSON Description: This library provides support for JSON.@@ -32,7 +32,7 @@ mtl >= 2, utf8-string >= 0.3, bytestring >= 0.9,- blaze-builder >= 0.2,+ blaze-builder >= 0.3, parsec >= 2.0, pretty -any, json2-types -any
src/Data/JSON2/Blaze.hs view
@@ -20,7 +20,7 @@ import Data.JSON2.Types import Data.ByteString.Char8 () import Blaze.ByteString.Builder-import Blaze.ByteString.Builder.Internal(runWrite, boundedWrite)+import Blaze.ByteString.Builder.Internal (getPoke, boundedWrite) import Blaze.ByteString.Builder.Char.Utf8 (writeChar, fromChar, fromString, fromShow) import Data.Ratio (denominator, numerator) import Data.Monoid (mempty, mappend, mconcat)@@ -30,7 +30,7 @@ blazeJson JNull = fromByteString "null" blazeJson (JBool True) = fromByteString "true" blazeJson (JBool False) = fromByteString "false"-blazeJson (JString xs) = escQuoted xs --fromWriteList writeJsonEscChar xs+blazeJson (JString xs) = escQuoted xs blazeJson (JNumber x) | denominator x == 1 = fromShow (numerator x) | otherwise = fromShow (fromRational x :: Double)@@ -49,12 +49,12 @@ writeJsonEscChar :: Char -> Write writeJsonEscChar x = boundedWrite 2 (wc x) where- wc '\"' = runWrite $ writeByteString "\\\""- wc '\\' = runWrite $ writeByteString "\\\\"- wc '/' = runWrite $ writeByteString "\\/"- wc '\b' = runWrite $ writeByteString "\\b"- wc '\f' = runWrite $ writeByteString "\\f"- wc '\n' = runWrite $ writeByteString "\\n"- wc '\r' = runWrite $ writeByteString "\\r"- wc '\t' = runWrite $ writeByteString "\\t"- wc c = runWrite $ writeChar c+ wc '\"' = getPoke $ writeByteString "\\\""+ wc '\\' = getPoke $ writeByteString "\\\\"+ wc '/' = getPoke $ writeByteString "\\/"+ wc '\b' = getPoke $ writeByteString "\\b"+ wc '\f' = getPoke $ writeByteString "\\f"+ wc '\n' = getPoke $ writeByteString "\\n"+ wc '\r' = getPoke $ writeByteString "\\r"+ wc '\t' = getPoke $ writeByteString "\\t"+ wc c = getPoke $ writeChar c