Module

Halogen.Helix

Package
purescript-halogen-helix
Repository
katsujukou/purescript-halogen-helix

Re-exports from Halogen.Helix.Hooks

#UseHelixHook Source

type UseHelixHook :: Type -> Type -> Type -> (Type -> Type) -> Typetype UseHelixHook state action part m = (state -> part) -> Hook m (UseHelix state) (part /\ (HelixContext' part action m))

#UseHelix Source

data UseHelix :: Type -> HookTypedata UseHelix t0

#HelixMiddleware' Source

type HelixMiddleware' :: Type -> Type -> (Type -> Type) -> Typetype HelixMiddleware' s a m = HelixMiddleware s a (HookM m)

#HelixContext' Source

type HelixContext' :: Type -> Type -> (Type -> Type) -> Typetype HelixContext' s a m = HelixContext s a (HookM m)

#makeStore' Source

makeStore' :: forall state action part m. MonadEffect m => Eq part => String -> (state -> action -> state) -> state -> UseHelixHook state action part m

#makeStore Source

makeStore :: forall state action part m. MonadEffect m => Eq part => String -> (state -> action -> state) -> state -> HelixMiddleware' state action m -> UseHelixHook state action part m

Re-exports from Halogen.Helix.Middleware

#(|>) Source

Operator alias for Halogen.Helix.Middleware.composeMiddlewareLtoR (right-associative / precedence 4)

#(<|) Source

Operator alias for Halogen.Helix.Middleware.composeMiddlewareRtoL (left-associative / precedence 4)

Re-exports from Halogen.Helix.Store

#HelixStore Source

newtype HelixStore :: Type -> Type -> (Type -> Type) -> Typenewtype HelixStore s a m

#getState Source

getState :: forall m s a. MonadEffect m => HelixStore s a m -> m s

#emitState Source

emitState :: forall s a m. HelixStore s a m -> Emitter s

#dispatch Source

dispatch :: forall m s a. MonadEffect m => HelixStore s a m -> a -> m Unit

Re-exports from Halogen.Helix.Types

#HelixMiddleware Source

type HelixMiddleware :: Type -> Type -> (Type -> Type) -> Typetype HelixMiddleware state action m = (HelixContext state action m) -> action -> (action -> m Unit) -> m Unit

#HelixContext Source

type HelixContext :: Type -> Type -> (Type -> Type) -> Typetype HelixContext state action m = { dispatch :: action -> m Unit, getState :: m state }