module Servant.JS.Fiat
( JS ) where
import qualified Data.ByteString as BS
import qualified Data.ByteString.Lazy as LBS
import qualified Data.Text as Text
import qualified Data.Text.Encoding as Text
import Data.Typeable
import qualified Network.HTTP.Media as M
import Servant.API
data JS deriving Typeable
instance Accept JS where
contentTypes _ = pure $ "application" M.// "javascript"
instance MimeRender JS LBS.ByteString where
mimeRender _ = id
instance MimeRender JS BS.ByteString where
mimeRender p = mimeRender p . LBS.fromStrict
instance MimeRender JS Text.Text where
mimeRender p = mimeRender p . Text.encodeUtf8