Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- serveQueryApplication :: HasQueryRouter layout r => Proxy layout -> Proxy r -> RouteQ layout (QueryEffs :& r) -> QueryApplication (Sem r)
- class HasQueryRouter layout r where
- data StoreLeaf a
- storeQueryHandler :: StoreQueryHandler ns h => ns -> h
- type QueryEffs = '[ReadStore, Error AppError]
- module Tendermint.SDK.BaseApp.Query.Types
Documentation
serveQueryApplication :: HasQueryRouter layout r => Proxy layout -> Proxy r -> RouteQ layout (QueryEffs :& r) -> QueryApplication (Sem r) Source #
Re-Exports
class HasQueryRouter layout r where Source #
This class is used to construct a router given a layout
type. The layout
| is constructed using the combinators that appear in the instances here, no other
| Servant combinators are recognized.
routeQ :: Proxy layout -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ layout (QueryEffs :& r)) -> Router env r QueryRequest Query Source #
Transform a routeQ handler into a Router
.
hoistQueryRouter :: Proxy layout -> Proxy r -> (forall a. Sem s a -> Sem s' a) -> RouteQ layout s -> RouteQ layout s' Source #
Instances
HasQueryRouter EmptyQueryServer r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Router type RouteQ EmptyQueryServer r Source # routeQ :: Proxy EmptyQueryServer -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ EmptyQueryServer (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy EmptyQueryServer -> Proxy r -> (forall a. Sem s a -> Sem s' a) -> RouteQ EmptyQueryServer s -> RouteQ EmptyQueryServer s' Source # | |
(Member (Tagged 'QueryAndMempool (ReadStore :: (Type -> Type) -> Type -> Type)) r, HasCodec a) => HasQueryRouter (Leaf a :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Router routeQ :: Proxy (Leaf a) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (Leaf a) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (Leaf a) -> Proxy r -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteQ (Leaf a) s -> RouteQ (Leaf a) s' Source # | |
(HasQueryRouter a r, HasQueryRouter b r) => HasQueryRouter (a :<|> b :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Router routeQ :: Proxy (a :<|> b) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (a :<|> b) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (a :<|> b) -> Proxy r -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteQ (a :<|> b) s -> RouteQ (a :<|> b) s' Source # | |
(HasCodec a, Member (Tagged 'QueryAndMempool (ReadStore :: (Type -> Type) -> Type -> Type)) r) => HasQueryRouter (StoreLeaf (Var a) :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Store routeQ :: Proxy (StoreLeaf (Var a)) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (StoreLeaf (Var a)) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (StoreLeaf (Var a)) -> Proxy r -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteQ (StoreLeaf (Var a)) s -> RouteQ (StoreLeaf (Var a)) s' Source # | |
(QueryData k, HasCodec v, Member (Tagged 'QueryAndMempool (ReadStore :: (Type -> Type) -> Type -> Type)) r) => HasQueryRouter (StoreLeaf (Map k v) :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Store routeQ :: Proxy (StoreLeaf (Map k v)) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (StoreLeaf (Map k v)) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (StoreLeaf (Map k v)) -> Proxy r -> (forall a. Sem s a -> Sem s' a) -> RouteQ (StoreLeaf (Map k v)) s -> RouteQ (StoreLeaf (Map k v)) s' Source # | |
(HasCodec a, Member (Tagged 'QueryAndMempool (ReadStore :: (Type -> Type) -> Type -> Type)) r) => HasQueryRouter (StoreLeaf (Array a) :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Store routeQ :: Proxy (StoreLeaf (Array a)) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (StoreLeaf (Array a)) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (StoreLeaf (Array a)) -> Proxy r -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteQ (StoreLeaf (Array a)) s -> RouteQ (StoreLeaf (Array a)) s' Source # | |
(QueryData a, HasQueryRouter sublayout r) => HasQueryRouter (QA a :> sublayout :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Router routeQ :: Proxy (QA a :> sublayout) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (QA a :> sublayout) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (QA a :> sublayout) -> Proxy r -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteQ (QA a :> sublayout) s -> RouteQ (QA a :> sublayout) s' Source # | |
(FromHttpApiData a, HasQueryRouter sublayout r) => HasQueryRouter (Capture' mods capture a :> sublayout :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Router routeQ :: Proxy (Capture' mods capture a :> sublayout) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (Capture' mods capture a :> sublayout) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (Capture' mods capture a :> sublayout) -> Proxy r -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteQ (Capture' mods capture a :> sublayout) s -> RouteQ (Capture' mods capture a :> sublayout) s' Source # | |
(HasQueryRouter sublayout r, KnownSymbol sym, FromHttpApiData a, SBoolI (FoldRequired mods), SBoolI (FoldLenient mods)) => HasQueryRouter (QueryParam' mods sym a :> sublayout :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Router routeQ :: Proxy (QueryParam' mods sym a :> sublayout) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (QueryParam' mods sym a :> sublayout) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (QueryParam' mods sym a :> sublayout) -> Proxy r -> (forall a0. Sem s a0 -> Sem s' a0) -> RouteQ (QueryParam' mods sym a :> sublayout) s -> RouteQ (QueryParam' mods sym a :> sublayout) s' Source # | |
(HasQueryRouter sublayout r, KnownSymbol path) => HasQueryRouter (path :> sublayout :: Type) r Source # | |
Defined in Tendermint.SDK.BaseApp.Query.Router routeQ :: Proxy (path :> sublayout) -> Proxy r -> Delayed (Sem r) env QueryRequest (RouteQ (path :> sublayout) (QueryEffs :& r)) -> Router env r QueryRequest Query Source # hoistQueryRouter :: forall (s :: EffectRow) (s' :: EffectRow). Proxy (path :> sublayout) -> Proxy r -> (forall a. Sem s a -> Sem s' a) -> RouteQ (path :> sublayout) s -> RouteQ (path :> sublayout) s' Source # |
Instances
storeQueryHandler :: StoreQueryHandler ns h => ns -> h Source #