{-# LANGUAGE FlexibleContexts #-} module Snap.Snaplet.Router.HeistSplices ( urlSplice , urlParamsSplice ) where import Data.Text import Snap.Snaplet.Router.Internal.Types import Snap.Snaplet.Router.URL (urlPathParams) import Text.XmlHtml hiding (render) import Web.Routes (PathInfo) ------------------------------------------------------------------------------ -- | Returns the given URL as a `Heist` splice urlSplice :: (HasRouter m, PathInfo (URL m)) => URL m -- ^ URL data type -> m [Node] urlSplice u = urlParamsSplice u [] ------------------------------------------------------------------------------ -- | Returns the given URL as a `Heist` splice with query string for params urlParamsSplice :: (HasRouter m, PathInfo (URL m)) => URL m -- ^ URL data type -> [(Text, Maybe Text)] -- ^ Params -> m [Node] urlParamsSplice u p = do t <- urlPathParams u p return [TextNode t]