Module

Signal.Internal

Package
purescript-zeta
Repository
athanclark/purescript-zeta

#Signal Source

newtype Signal (rw :: Row SCOPE) (eff :: Row Effect) a

Constructors

Instances

#subscribe Source

subscribe :: forall a rw eff. (a -> Eff (ref :: REF | eff) Unit) -> Signal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Add a subscribers to the set

#subscribeLight Source

subscribeLight :: forall a rw eff. (a -> Eff (ref :: REF | eff) Unit) -> Signal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#set Source

set :: forall a rw eff. a -> Signal (write :: WRITE | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Publish a message to the set of subscribers

#get Source

get :: forall a rw eff. Signal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) a

Gets the last message published to the subscribers

#clear Source

clear :: forall a rw eff. Signal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Removes all subscribers

#make Source

make :: forall a eff. a -> Eff (ref :: REF | eff) (Signal (read :: READ, write :: WRITE) (ref :: REF | eff) a)

Create a signal with a starting value