Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Servant.Hateoas.Layer.Build
Contents
Synopsis
- type family ReplaceHandler server replacement where ...
- class BuildLayerLinks l m where
- buildLayerLinks :: MonadIO m => Proxy l -> Proxy m -> ReplaceHandler (ServerT l m) [(String, ResourceLink)]
Type family
type family ReplaceHandler server replacement where ... Source #
Equations
ReplaceHandler (a :<|> b) replacement = ReplaceHandler a replacement :<|> ReplaceHandler b replacement | |
ReplaceHandler (a -> b) replacement = a -> ReplaceHandler b replacement | |
ReplaceHandler _ replacement = replacement |
Class
class BuildLayerLinks l m where Source #
Create all ResourceLink
s to a Layer
s RelativeChildren
.
Methods
buildLayerLinks :: MonadIO m => Proxy l -> Proxy m -> ReplaceHandler (ServerT l m) [(String, ResourceLink)] Source #
Instances
(verb ~ Verb method status cts a, AllMime cts, ReflectMethod method, api ~ MkPrefix apiCs verb, KnownSymbol sym, HasRelationLink (MkPrefix '[Capture' mods sym x] verb), IsElem api api, HasLink api, BuildLayerLinks ('Layer apiCs cs verb) m, buildLinksFun ~ ReplaceHandler (ServerT api m) [(String, ResourceLink)], PolyvariadicComp2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun), Return2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun) ~ (Link, [(String, ResourceLink)]), Replace2 (MkLink api Link) buildLinksFun [(String, ResourceLink)] (IsFun buildLinksFun) ~ buildLinksFun) => BuildLayerLinks ('Layer apiCs (Capture' mods sym x ': cs) verb) m Source # | |
Defined in Servant.Hateoas.Layer.Build Methods buildLayerLinks :: Proxy ('Layer apiCs (Capture' mods sym x ': cs) verb) -> Proxy m -> ReplaceHandler (ServerT ('Layer apiCs (Capture' mods sym x ': cs) verb) m) [(String, ResourceLink)] Source # | |
(verb ~ Verb method status cts a, AllMime cts, ReflectMethod method, api ~ MkPrefix apiCs verb, KnownSymbol sym, HasRelationLink (MkPrefix '[CaptureAll sym x] verb), IsElem api api, HasLink api, BuildLayerLinks ('Layer apiCs cs verb) m, buildLinksFun ~ ReplaceHandler (ServerT api m) [(String, ResourceLink)], PolyvariadicComp2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun), Return2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun) ~ (Link, [(String, ResourceLink)]), Replace2 (MkLink api Link) buildLinksFun [(String, ResourceLink)] (IsFun buildLinksFun) ~ buildLinksFun) => BuildLayerLinks ('Layer apiCs (CaptureAll sym x ': cs) verb) m Source # | |
Defined in Servant.Hateoas.Layer.Build Methods buildLayerLinks :: Proxy ('Layer apiCs (CaptureAll sym x ': cs) verb) -> Proxy m -> ReplaceHandler (ServerT ('Layer apiCs (CaptureAll sym x ': cs) verb) m) [(String, ResourceLink)] Source # | |
(verb ~ Verb method status cts a, AllMime cts, ReflectMethod method, api ~ MkPrefix apiCs verb, KnownSymbol sym, HasRelationLink (MkPrefix '[QueryFlag sym] verb), IsElem api api, HasLink api, BuildLayerLinks ('Layer apiCs cs verb) m, buildLinksFun ~ ReplaceHandler (ServerT api m) [(String, ResourceLink)], PolyvariadicComp2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun), Return2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun) ~ (Link, [(String, ResourceLink)]), Replace2 (MkLink api Link) buildLinksFun [(String, ResourceLink)] (IsFun buildLinksFun) ~ buildLinksFun) => BuildLayerLinks ('Layer apiCs (QueryFlag sym ': cs) verb) m Source # | |
Defined in Servant.Hateoas.Layer.Build Methods buildLayerLinks :: Proxy ('Layer apiCs (QueryFlag sym ': cs) verb) -> Proxy m -> ReplaceHandler (ServerT ('Layer apiCs (QueryFlag sym ': cs) verb) m) [(String, ResourceLink)] Source # | |
(verb ~ Verb method status cts a, AllMime cts, ReflectMethod method, api ~ MkPrefix apiCs verb, KnownSymbol sym, HasRelationLink (MkPrefix '[QueryParam' mods sym x] verb), IsElem api api, HasLink api, BuildLayerLinks ('Layer apiCs cs verb) m, buildLinksFun ~ ReplaceHandler (ServerT api m) [(String, ResourceLink)], PolyvariadicComp2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun), Return2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun) ~ (Link, [(String, ResourceLink)]), Replace2 (MkLink api Link) buildLinksFun [(String, ResourceLink)] (IsFun buildLinksFun) ~ buildLinksFun) => BuildLayerLinks ('Layer apiCs (QueryParam' mods sym x ': cs) verb) m Source # | |
Defined in Servant.Hateoas.Layer.Build Methods buildLayerLinks :: Proxy ('Layer apiCs (QueryParam' mods sym x ': cs) verb) -> Proxy m -> ReplaceHandler (ServerT ('Layer apiCs (QueryParam' mods sym x ': cs) verb) m) [(String, ResourceLink)] Source # | |
(verb ~ Verb method status cts a, AllMime cts, ReflectMethod method, api ~ MkPrefix apiCs verb, KnownSymbol sym, HasRelationLink (MkPrefix '[QueryParams sym x] verb), IsElem api api, HasLink api, BuildLayerLinks ('Layer apiCs cs verb) m, buildLinksFun ~ ReplaceHandler (ServerT api m) [(String, ResourceLink)], PolyvariadicComp2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun), Return2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun) ~ (Link, [(String, ResourceLink)]), Replace2 (MkLink api Link) buildLinksFun [(String, ResourceLink)] (IsFun buildLinksFun) ~ buildLinksFun) => BuildLayerLinks ('Layer apiCs (QueryParams sym x ': cs) verb) m Source # | |
Defined in Servant.Hateoas.Layer.Build Methods buildLayerLinks :: Proxy ('Layer apiCs (QueryParams sym x ': cs) verb) -> Proxy m -> ReplaceHandler (ServerT ('Layer apiCs (QueryParams sym x ': cs) verb) m) [(String, ResourceLink)] Source # | |
(verb ~ Verb method status cts a, AllMime cts, ReflectMethod method, api ~ MkPrefix apiCs verb, KnownSymbol sym, HasRelationLink (MkPrefix '[DeepQuery sym x] verb), IsElem api api, HasLink api, BuildLayerLinks ('Layer apiCs cs verb) m, buildLinksFun ~ ReplaceHandler (ServerT api m) [(String, ResourceLink)], PolyvariadicComp2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun), Return2 (MkLink api Link) buildLinksFun (IsFun buildLinksFun) ~ (Link, [(String, ResourceLink)]), Replace2 (MkLink api Link) buildLinksFun [(String, ResourceLink)] (IsFun buildLinksFun) ~ buildLinksFun) => BuildLayerLinks ('Layer apiCs (DeepQuery sym x ': cs) verb) m Source # | |
Defined in Servant.Hateoas.Layer.Build Methods buildLayerLinks :: Proxy ('Layer apiCs (DeepQuery sym x ': cs) verb) -> Proxy m -> ReplaceHandler (ServerT ('Layer apiCs (DeepQuery sym x ': cs) verb) m) [(String, ResourceLink)] Source # | |
(c ~ MkPrefix (apiCs ++ '[Sym sym]) verb, HasLink c, IsElem c c, mkLink ~ MkLink c Link, KnownSymbol sym, BuildLayerLinks ('Layer apiCs cs verb) m, buildLinksFun ~ ReplaceHandler (ServerT (MkPrefix apiCs verb) m) [(String, ResourceLink)], PolyvariadicComp2 mkLink buildLinksFun (IsFun mkLink), Return2 mkLink buildLinksFun (IsFun mkLink) ~ (Link, [(String, ResourceLink)]), Replace2 mkLink buildLinksFun [(String, ResourceLink)] (IsFun mkLink) ~ buildLinksFun) => BuildLayerLinks ('Layer apiCs (Sym sym ': cs) verb) m Source # | |
Defined in Servant.Hateoas.Layer.Build Methods buildLayerLinks :: Proxy ('Layer apiCs (Sym sym ': cs) verb) -> Proxy m -> ReplaceHandler (ServerT ('Layer apiCs (Sym sym ': cs) verb) m) [(String, ResourceLink)] Source # | |
(api ~ MkPrefix apiCs verb, HasLink api, IsElem api api, mkSelf ~ MkLink api Link, PolyvariadicComp mkSelf (IsFun mkSelf), Return mkSelf (IsFun mkSelf) ~ Link, Replace mkSelf [(String, ResourceLink)] (IsFun mkSelf) ~ ReplaceHandler (ServerT api m) [(String, ResourceLink)]) => BuildLayerLinks ('Layer apiCs ('[] :: [Type]) verb) m Source # | |
Defined in Servant.Hateoas.Layer.Build Methods buildLayerLinks :: Proxy ('Layer apiCs '[] verb) -> Proxy m -> ReplaceHandler (ServerT ('Layer apiCs '[] verb) m) [(String, ResourceLink)] Source # |