Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class AbstractRouter r where Source
data RoutePath r :: [*] -> * Source
type RouteAction r :: [*] -> * Source
type RouteAppliedAction r Source
subcompCombine :: RoutePath r [] -> RoutePath r as -> RoutePath r as Source
emptyRegistry :: Registry r Source
rootPath :: RoutePath r [] Source
defRoute :: RoutePath r as -> RouteAction r as -> Registry r -> Registry r Source
fallbackRoute :: ([Text] -> RouteAppliedAction r) -> Registry r -> Registry r Source
matchRoute :: Registry r -> [Text] -> [(ParamMap, RouteAppliedAction r)] Source
AbstractRouter (TextRouter m a) | |
AbstractRouter (SafeRouter m a) |
type ParamMap = HashMap CaptureVar Text Source
newtype CaptureVar Source
newtype RegistryT r middleware reqTypes m a Source
RegistryT | |
|
Monad m => MonadWriter [middleware] (RegistryT r middleware reqTypes m) | |
Monad m => MonadReader (RoutePath r ([] *)) (RegistryT r middleware reqTypes m) | |
Monad m => MonadState (RegistryState r reqTypes) (RegistryT r middleware reqTypes m) | |
MonadTrans (RegistryT r middleware reqTypes) | |
Monad m => Monad (RegistryT r middleware reqTypes m) | |
Functor m => Functor (RegistryT r middleware reqTypes m) | |
(Monad m, Functor m) => Applicative (RegistryT r middleware reqTypes m) | |
MonadIO m => MonadIO (RegistryT r middleware reqTypes m) |
data RegistryState r reqTypes Source
RegistryState | |
|
Monad m => MonadState (RegistryState r reqTypes) (RegistryT r middleware reqTypes m) |
hookAny :: (Monad m, AbstractRouter r, Eq reqTypes, Hashable reqTypes) => reqTypes -> ([Text] -> RouteAppliedAction r) -> RegistryT r middleware reqTypes m () Source
hookRoute :: (Monad m, AbstractRouter r, Eq reqTypes, Hashable reqTypes) => reqTypes -> RoutePath r as -> RouteAction r as -> RegistryT r middleware reqTypes m () Source
middleware :: Monad m => middleware -> RegistryT r middleware reqTypes m () Source
subcomponent :: (Monad m, AbstractRouter r) => RoutePath r [] -> RegistryT r middleware reqTypes m a -> RegistryT r middleware reqTypes m a Source
runRegistry :: (Monad m, AbstractRouter r, Hashable reqTypes, Eq reqTypes) => r -> RegistryT r middleware reqTypes m a -> m (a, reqTypes -> [Text] -> [(ParamMap, RouteAppliedAction r)], [middleware]) Source