-- |This modules provides support for using JMacro with Happstack. -- -- It provides the instance, -- -- > instance ToMessage JStat -- -- Which will serve a 'JStat' value as @text/javascript; charset=UTF-8@. module Happstack.Server.JMacro where import qualified Data.ByteString.Char8 as S import Data.ByteString.Lazy.UTF8 as LB import Happstack.Server (ToMessage(..)) import Language.Javascript.JMacro (JStat(..), renderJs) import Text.PrettyPrint (Style(mode), Mode(OneLineMode), style, renderStyle) instance ToMessage JStat where toContentType _ = S.pack "text/javascript; charset=UTF-8" toMessage js = LB.fromString . renderStyle (style { mode = OneLineMode }) . renderJs $ js