Module

Specular.Callback

Package
purescript-specular
Repository
restaumatic/purescript-specular

#Callback Source

newtype Callback a

A handle that lets the owner trigger some action with payload of type a. Can be thought of as "inverse of Event".

The Contravariant instance can be used to map over the payload.

Instances

#mkCallback Source

mkCallback :: forall a. (a -> Effect Unit) -> Callback a

#newCallback Source

newCallback :: forall a m. MonadEffect m => m { callback :: Callback a, event :: Event a }

Create a new (Event, Callback) pair. Firing the callback will cause the event to occur.

#triggerCallback Source

triggerCallback :: forall a. Callback a -> a -> Effect Unit

Trigger the action in Effect.

#attachEvent Source

attachEvent :: forall a m. MonadFRP m => Event a -> Callback a -> m Unit

Triger the action each time a given Event fires.

#attachDomEvent Source

attachDomEvent :: forall m. MonadFRP m => EventType -> Node -> Callback Event -> m Unit

Trigger a callback each time a DOM event fires. The payload will be the DOM event. It is advised to cmap it to a nicer type.

#attachDyn Source

attachDyn :: forall a m. MonadFRP m => Dynamic a -> Callback a -> m Unit

#contramapCallbackDyn Source

contramapCallbackDyn :: forall b a. Dynamic (b -> a) -> Callback a -> Callback b

Map over the callback payload using a Dynamic function. The Dynamic value will be read at callback trigger time.

#contramapCallbackDyn_ Source

contramapCallbackDyn_ :: forall b a. Dynamic a -> Callback a -> Callback b

#contramapCallbackDynMaybe Source

contramapCallbackDynMaybe :: forall b a. Dynamic (b -> Maybe a) -> Callback a -> Callback b

Map over the callback payload using a Dynamic function. If it returns Nothing, the callback will not be triggered. The Dynamic value will be read at callback trigger time.

#contramapCallbackEffect Source

contramapCallbackEffect :: forall b a. (b -> Effect a) -> Callback a -> Callback b

Map over the callback payload using an effectful function. The effect will be executed at callback trigger time.

#nullCallback Source

nullCallback :: forall a. Callback a

A Callback that just ignores the input values.

#dynCallback Source

dynCallback :: forall a. Dynamic (Callback a) -> Callback a

#mbCallback Source

mbCallback :: forall a. Callback a -> Callback (Maybe a)