diff --git a/Yesod/Json.hs b/Yesod/Json.hs index 47ea56ec..e300b124 100644 --- a/Yesod/Json.hs +++ b/Yesod/Json.hs @@ -5,6 +5,8 @@ module Yesod.Json ( -- * Monad Json , jsonToContent + , jsonToRepJson + , htmlContentToText -- FIXME put elsewhere? -- * Generate Json output , jsonScalar , jsonList @@ -50,6 +52,10 @@ newtype Json url a = Json { unJson :: Hamlet url IO a } jsonToContent :: Json (Routes master) () -> GHandler sub master Content jsonToContent = hamletToContent . unJson +-- | Wraps the 'Content' generated by 'jsonToContent' in a 'RepJson'. +jsonToRepJson :: Json (Routes master) () -> GHandler sub master RepJson +jsonToRepJson = fmap RepJson . jsonToContent + htmlContentToText :: HtmlContent -> Text htmlContentToText (Encoded t) = t htmlContentToText (Unencoded t) = encodeHtml t