From de76f34c8c0ff8530de8f6772a61be3af38f1a9d Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Sat, 30 Apr 2011 21:32:55 +0300 Subject: [PATCH] ToJavascript instance for Value --- Yesod/Json.hs | 8 +++++--- yesod-json.cabal | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Yesod/Json.hs b/Yesod/Json.hs index 83c03538..bdc8ccc1 100644 --- a/Yesod/Json.hs +++ b/Yesod/Json.hs @@ -19,11 +19,15 @@ import Yesod.Content import Yesod.Core (defaultLayout, Yesod) import Yesod.Widget (GWidget) import qualified Data.Aeson as J +import qualified Data.Aeson.Encode as JE import Data.Aeson.Encode (fromValue) import Data.Text (pack) import Control.Arrow (first) import Data.Map (fromList) import qualified Data.Vector as V +import Text.Julius (ToJavascript (..)) +import Data.Text.Lazy.Builder (fromLazyText) +import Data.Text.Lazy.Encoding (decodeUtf8) instance ToContent J.Value where toContent = flip ContentBuilder Nothing . fromValue @@ -53,7 +57,5 @@ jsonList = J.Array . V.fromList jsonMap :: [(String, Json)] -> Json jsonMap = J.Object . fromList . map (first pack) -{- FIXME instance ToJavascript J.Value where - toJavascript = fromLazyText . decodeUtf8 . toLazyByteString . JE.renderValue --} + toJavascript = fromLazyText . decodeUtf8 . JE.encode diff --git a/yesod-json.cabal b/yesod-json.cabal index 4fa1af67..4d792b9f 100644 --- a/yesod-json.cabal +++ b/yesod-json.cabal @@ -1,5 +1,5 @@ name: yesod-json -version: 0.1.0 +version: 0.1.1 license: BSD3 license-file: LICENSE author: Michael Snoyman @@ -16,6 +16,7 @@ library , yesod-core >= 0.8 && < 0.9 , aeson >= 0.3.1.1 && < 0.4 , text >= 0.8 && < 0.12 + , hamlet >= 0.8 && < 0.9 , vector , containers exposed-modules: Yesod.Json