{-# LANGUAGE RankNTypes #-}
module Text.BlazeT.Renderer.Text
    ( renderMarkupBuilder
    , renderMarkupBuilderWith
    , renderMarkup
    , renderMarkupWith
    , renderHtmlBuilder
    , renderHtmlBuilderWith
    , renderHtml
    , renderHtmlWith
  ) where

import           Data.ByteString (ByteString)
import           Data.Text (Text)
import qualified Data.Text.Lazy as L
import qualified Data.Text.Lazy.Builder as B
import qualified Text.Blaze.Html.Renderer.Text as BH
import qualified Text.Blaze.Renderer.Text as BU
import           Text.BlazeT

renderMarkupBuilder :: MarkupI a -> B.Builder
renderMarkupBuilder :: forall a. MarkupI a -> Builder
renderMarkupBuilder = Markup -> Builder
BU.renderMarkupBuilder forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. MarkupI a -> Markup
execMarkup

renderHtmlBuilder :: MarkupI a -> B.Builder
renderHtmlBuilder :: forall a. MarkupI a -> Builder
renderHtmlBuilder = forall a. MarkupI a -> Builder
renderMarkupBuilder

renderMarkup :: MarkupI a -> L.Text
renderMarkup :: forall a. MarkupI a -> Text
renderMarkup = Markup -> Text
BU.renderMarkup forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. MarkupI a -> Markup
execMarkup

renderHtml :: MarkupI a -> L.Text
renderHtml :: forall a. MarkupI a -> Text
renderHtml = forall a. MarkupI a -> Text
renderMarkup

renderMarkupWith :: (ByteString -> Text) -> MarkupI a -> L.Text
renderMarkupWith :: forall a. (ByteString -> Text) -> MarkupI a -> Text
renderMarkupWith ByteString -> Text
g = ((ByteString -> Text) -> Markup -> Text
BH.renderHtmlWith ByteString -> Text
g) forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. MarkupI a -> Markup
execMarkup

renderHtmlWith :: (ByteString -> Text) -> MarkupI a -> L.Text
renderHtmlWith :: forall a. (ByteString -> Text) -> MarkupI a -> Text
renderHtmlWith = forall a. (ByteString -> Text) -> MarkupI a -> Text
renderMarkupWith

renderMarkupBuilderWith :: (ByteString -> Text) -> MarkupI a -> B.Builder
renderMarkupBuilderWith :: forall a. (ByteString -> Text) -> MarkupI a -> Builder
renderMarkupBuilderWith ByteString -> Text
g = ((ByteString -> Text) -> Markup -> Builder
BU.renderMarkupBuilderWith ByteString -> Text
g) forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. MarkupI a -> Markup
execMarkup

renderHtmlBuilderWith :: (ByteString -> Text) -> MarkupI a -> B.Builder
renderHtmlBuilderWith :: forall a. (ByteString -> Text) -> MarkupI a -> Builder
renderHtmlBuilderWith = forall a. (ByteString -> Text) -> MarkupI a -> Builder
renderHtmlBuilderWith