module Web.Hyperbole.View.Render ( renderText , renderLazyByteString , renderBody ) where import Data.ByteString.Lazy qualified as BL import Data.Text (Text) import Web.Atomic.Render qualified as Atomic import Web.Hyperbole.Types.Response (Body (..)) import Web.Hyperbole.View.Types (View, execView) renderText :: View () () -> Text renderText :: View () () -> Text renderText = Html () -> Text Atomic.renderText (Html () -> Text) -> (View () () -> Html ()) -> View () () -> Text forall b c a. (b -> c) -> (a -> b) -> a -> c . () -> ViewState () -> View () () -> Html () forall c a. c -> ViewState c -> View c a -> Html a execView () () renderLazyByteString :: View () () -> BL.ByteString renderLazyByteString :: View () () -> ByteString renderLazyByteString = Html () -> ByteString Atomic.renderLazyByteString (Html () -> ByteString) -> (View () () -> Html ()) -> View () () -> ByteString forall b c a. (b -> c) -> (a -> b) -> a -> c . () -> ViewState () -> View () () -> Html () forall c a. c -> ViewState c -> View c a -> Html a execView () () renderBody :: View () () -> Body renderBody :: View () () -> Body renderBody View () () v = ByteString -> Body Body (ByteString -> Body) -> ByteString -> Body forall a b. (a -> b) -> a -> b $ View () () -> ByteString renderLazyByteString View () () v