hyperbole
Safe HaskellNone
LanguageGHC2021

Web.Hyperbole.Server.Handler

Documentation

class RunHandlers (views :: [Type]) (es :: [Effect]) where Source #

Instances

Instances details
RunHandlers ('[] :: [Type]) es Source # 
Instance details

Defined in Web.Hyperbole.Server.Handler

(HyperView view es, ToJSON (ViewState view), FromJSON (ViewState view), RunHandlers views es) => RunHandlers (view ': views) es Source # 
Instance details

Defined in Web.Hyperbole.Server.Handler

runHandler :: forall id (es :: [Effect]). (HyperView id es, ToJSON (ViewState id), FromJSON (ViewState id), Hyperbole :> es) => Event TargetViewId Encoded Value -> (Action id -> Eff (Reader id ': (State (ViewState id) ': es)) (View id ())) -> Eff es (Maybe Response) Source #

runLoad :: forall (views :: [Type]) (es :: [Effect]). (Hyperbole :> es, RunHandlers views es) => Eff es (View (Root views) ()) -> Eff es Response Source #

loadPageResponse :: forall (es :: [Effect]) (total :: [Type]). Eff es (View (Root total) ()) -> Eff es Response Source #

decodeEvent :: forall id (es :: [Effect]). (HyperView id es, FromJSON (ViewState id), Hyperbole :> es) => Event TargetViewId Encoded Value -> Eff es (Maybe (Event id (Action id) (ViewState id))) Source #