Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Maker act nxt where
- MkHandler :: (JSVal -> MaybeT IO [act]) -> (Callback (JSVal -> IO ()) -> nxt) -> Maker act nxt
- MkEmptyFrame :: (Frame mdl pln -> nxt) -> Maker act nxt
- MkRenderer :: Frame mdl pln -> (JSVal -> WindowT (Design mdl pln) ReactMl ()) -> (Callback (JSVal -> IO JSVal) -> nxt) -> Maker act nxt
- PutFrame :: Frame mdl pln -> Design mdl pln -> nxt -> Maker act nxt
- GetComponent :: (ReactComponent -> nxt) -> Maker act nxt
- MkKey :: (JSString -> nxt) -> Maker act nxt
- mkKey :: forall m act. MonadFree (Maker act) m => m JSString
- getComponent :: forall m act. MonadFree (Maker act) m => m ReactComponent
- putFrame :: forall mdl pln m act. MonadFree (Maker act) m => Frame mdl pln -> Design mdl pln -> m ()
- mkRenderer :: forall mdl pln m act. MonadFree (Maker act) m => Frame mdl pln -> (JSVal -> WindowT (Design mdl pln) ReactMl ()) -> m (Callback (JSVal -> IO JSVal))
- mkEmptyFrame :: forall mdl pln m act. MonadFree (Maker act) m => m (Frame mdl pln)
- mkHandler :: forall m act. MonadFree (Maker act) m => (JSVal -> MaybeT IO [act]) -> m (Callback (JSVal -> IO ()))
- mapAction :: (act -> act') -> Maker act a -> Maker act' a
Documentation
data Maker act nxt where Source #
DSL for IO effects required during making widget models and callbacks
Maker
remembers the action type to allow mapAction
for changing the action type by parent widgets.
The model type does not need to be changed, so it is hidden in the GADT existential.
MkHandler :: (JSVal -> MaybeT IO [act]) -> (Callback (JSVal -> IO ()) -> nxt) -> Maker act nxt | |
MkEmptyFrame :: (Frame mdl pln -> nxt) -> Maker act nxt | |
MkRenderer :: Frame mdl pln -> (JSVal -> WindowT (Design mdl pln) ReactMl ()) -> (Callback (JSVal -> IO JSVal) -> nxt) -> Maker act nxt | |
PutFrame :: Frame mdl pln -> Design mdl pln -> nxt -> Maker act nxt | |
GetComponent :: (ReactComponent -> nxt) -> Maker act nxt | |
MkKey :: (JSString -> nxt) -> Maker act nxt |
getComponent :: forall m act. MonadFree (Maker act) m => m ReactComponent Source #
putFrame :: forall mdl pln m act. MonadFree (Maker act) m => Frame mdl pln -> Design mdl pln -> m () Source #
mkRenderer :: forall mdl pln m act. MonadFree (Maker act) m => Frame mdl pln -> (JSVal -> WindowT (Design mdl pln) ReactMl ()) -> m (Callback (JSVal -> IO JSVal)) Source #