hs-abci-sdk-0.1.0.0
Safe HaskellNone
LanguageHaskell2010

Tendermint.SDK.BaseApp.Query.Router

Synopsis

Documentation

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.

Associated Types

type RouteQ layout r :: Type Source #

A routeQ handler.

Methods

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

Instances details
HasQueryRouter EmptyQueryServer r Source # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Router

Associated Types

type RouteQ EmptyQueryServer r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Router

Associated Types

type RouteQ (Leaf a) r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Router

Associated Types

type RouteQ (a :<|> b) r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Store

Associated Types

type RouteQ (StoreLeaf (Var a)) r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Store

Associated Types

type RouteQ (StoreLeaf (Map k v)) r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Store

Associated Types

type RouteQ (StoreLeaf (Array a)) r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Router

Associated Types

type RouteQ (QA a :> sublayout) r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Router

Associated Types

type RouteQ (Capture' mods capture a :> sublayout) r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Router

Associated Types

type RouteQ (QueryParam' mods sym a :> sublayout) r Source #

Methods

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 # 
Instance details

Defined in Tendermint.SDK.BaseApp.Query.Router

Associated Types

type RouteQ (path :> sublayout) r Source #

Methods

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 #

methodRouter :: HasCodec a => Member (Tagged 'QueryAndMempool ReadStore) r => Delayed (Sem r) env req (Sem (QueryEffs :& r) (QueryResult a)) -> Router env r req Query Source #