web-routes-0.27.2: Library for maintaining correctness and composability of URLs within an application.

Safe HaskellNone




Declaration of the RouteT monad transformer


RouteT Monad Transformer

newtype RouteT url m a Source

monad transformer for generating URLs




unRouteT :: (url -> [(Text, Maybe Text)] -> Text) -> m a


(Monoid w, MonadReader r (RouteT url m), MonadWriter w (RouteT url m), MonadState s (RouteT url m), MonadRWS r w s m) => MonadRWS r w s (RouteT url m) 
(Monad (RouteT url m), MonadError e m) => MonadError e (RouteT url m) 
(Monad (RouteT url m), MonadReader r m) => MonadReader r (RouteT url m) 
(Monad (RouteT url m), MonadState s m) => MonadState s (RouteT url m) 
(Monoid w, Monad (RouteT url m), MonadWriter w m) => MonadWriter w (RouteT url m) 
MonadTrans (RouteT url) 
Monad m => Monad (RouteT url m) 
Functor m => Functor (RouteT url m) 
(Monad (RouteT url m), MonadFix m) => MonadFix (RouteT url m) 
(MonadPlus m, Monad (RouteT url m)) => MonadPlus (RouteT url m) 
(Functor (RouteT url m), Applicative m) => Applicative (RouteT url m) 
(Applicative (RouteT url m), Alternative m) => Alternative (RouteT url m) 
(Monad (RouteT url m), MonadIO m) => MonadIO (RouteT url m) 
(Monad (RouteT url m), MonadCont m) => MonadCont (RouteT url m) 
(Monad (RouteT url m), Monad m) => MonadRoute (RouteT url m) 

class Monad m => MonadRoute m whereSource

Associated Types

type URL m Source


askRouteFn :: m (URL m -> [(Text, Maybe Text)] -> Text)Source


(Monad (RouteT url m), Monad m) => MonadRoute (RouteT url m) 

runRouteT :: (url -> RouteT url m a) -> (url -> [(Text, Maybe Text)] -> Text) -> url -> m aSource

convert a RouteT based route handler to a handler that can be used with the Site type

NOTE: this function used to be the same as unRouteT. If you want the old behavior, just call unRouteT.

mapRouteT :: (m a -> n b) -> RouteT url m a -> RouteT url n bSource

Transform the computation inside a RouteT.

withRouteT :: ((url' -> [(Text, Maybe Text)] -> Text) -> url -> [(Text, Maybe Text)] -> Text) -> RouteT url m a -> RouteT url' m aSource

Execute a computation in a modified environment

liftRouteT :: m a -> RouteT url m aSource

askRouteT :: Monad m => RouteT url m (url -> [(Text, Maybe Text)] -> Text)Source

nestURL :: (url1 -> url2) -> RouteT url1 m a -> RouteT url2 m aSource