Module

Jelly.Hooks

Package
purescript-jelly-signal
Repository
yukikurage/purescript-jelly-signal

#MonadHooks Source

class MonadHooks :: (Type -> Type) -> Constraintclass (MonadEffect m) <= MonadHooks m  where

Members

Instances

#useHooks_ Source

useHooks_ :: forall m a. MonadHooks m => Signal (m a) -> m Unit

Void version of useHooks

#useMemo Source

useMemo :: forall m a. MonadHooks m => Signal a -> m (Signal a)

Memorize a Signal

#useEffect Source

useEffect :: forall m a. MonadHooks m => Signal (Effect a) -> m (Signal a)

Unwrap effective Signal

#useEffect_ Source

useEffect_ :: forall m a. MonadHooks m => Signal (Effect a) -> m Unit

Void version of useEffect

#useAff Source

useAff :: forall m a. MonadHooks m => Signal (Aff a) -> m (Signal (Maybe a))

Unwrap Aff Signal. If the order of the results is reversed, it is ignored.

#useAff_ Source

useAff_ :: forall m a. MonadHooks m => Signal (Aff a) -> m Unit

Void version of useAff

#useSubscriber Source

useSubscriber :: forall m e. MonadHooks m => ((e -> Effect Unit) -> Effect (Effect Unit)) -> (e -> m Unit) -> m Unit

Subscribe to some Events

#useEvent Source

useEvent :: forall m. MonadHooks m => EventTarget -> EventType -> (Event -> m Unit) -> m Unit

Subscribe to an event on an event target.

#useInterval Source

useInterval :: forall m. MonadHooks m => Int -> m Unit -> m Unit

Subscribe to interval events.

#useTimeout Source

useTimeout :: forall m. MonadHooks m => Int -> m Unit -> m Unit

Subscribe to timeout events.

#useUpdate Source

useUpdate :: forall m. MonadHooks m => Signal (m Unit) -> m Unit

A hook that runs the given effect when the signal changes. (same as useHooks_, but without initialize)

#useNub Source

useNub :: forall m a. MonadHooks m => Eq a => Signal a -> m (Signal a)

Nub a Eq value of Signal.

#useStateEq Source

useStateEq :: forall m a. MonadHooks m => Eq a => a -> m (Tuple (Signal a) (Channel a))

Create State which ignores the same value.

#runHooks Source

runHooks :: forall m a. MonadEffect m => Hooks a -> m (Tuple a (Effect Unit))

Run a Hooks computation and return the result and a cleanup effect.

#runHooks_ Source

runHooks_ :: forall m a. MonadEffect m => Hooks a -> m Unit

Void version of runHooks.

#liftHooks Source

liftHooks :: forall m a. MonadHooks m => Hooks a -> m a

Lift Hooks to m which has MonadHooks instance.