Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
data RouteHandle m a Source #
RouteHandle (PathInternal as) (HVectElim as (m a)) |
newtype HVectElim' x ts Source #
HVectElim' | |
|
emptyRegistry :: Registry m a Source #
defRoute :: PathInternal xs -> HVectElim' (m a) xs -> Registry m a -> Registry m a Source #
matchRoute :: Registry m a -> [Text] -> [m a] Source #
data PathInternal as where Source #
PI_Empty :: PathInternal '[] | |
PI_StaticCons :: Text -> PathInternal as -> PathInternal as | |
PI_VarCons :: (FromHttpApiData a, Typeable a) => PathInternal as -> PathInternal (a ': as) | |
PI_Wildcard :: PathInternal as -> PathInternal (Text ': as) |
Monad m => MonadReader (PathInternal ([] *)) (RegistryT n b middleware reqTypes m) # | |
PathMap | |
|
emptyPathMap :: PathMap x Source #
updatePathMap :: (forall y. (ctx -> y) -> PathMap y -> PathMap y) -> PathInternal ts -> (HVect ts -> ctx -> x) -> PathMap x -> PathMap x Source #
insertPathMap' :: PathInternal ts -> (HVect ts -> x) -> PathMap x -> PathMap x Source #
insertPathMap :: RouteHandle m a -> PathMap (m a) -> PathMap (m a) Source #
insertSubComponent' :: PathInternal ts -> (HVect ts -> [Text] -> x) -> PathMap x -> PathMap x Source #
insertSubComponent :: Functor m => RouteHandle m ([Text] -> a) -> PathMap (m a) -> PathMap (m a) Source #
(</!>) :: PathInternal as -> PathInternal bs -> PathInternal (Append as bs) Source #
combineRoutePieces :: [Text] -> Text Source #