Module

Signal.Compat

Package
purescript-zeta
Repository
athanclark/purescript-zeta

This module tries to mimic purescript-signal's API, without hiding the fact that new Signals are created in the process of mapping over their value - this means that if you have dangling subscribers to the old reference, then it won't get garbage collected.

#constant Source

constant :: forall a. a -> Effect (Signal (read :: READ, write :: WRITE) a)

Alias for make

#map' Source

map' :: forall rw b a. (a -> b) -> Signal (read :: READ | rw) a -> Effect (Signal (read :: READ, write :: WRITE) b)

Creates a new signal, relaying the next incoming values from the old to the new, after transformation.

#traverse' Source

traverse' :: forall rw b a. (a -> Effect b) -> Signal (read :: READ | rw) a -> Effect (Signal (read :: READ, write :: WRITE) b)

Same as map, but where each transformation might be effectful.

#ap' Source

ap' :: forall rw1 rw b a. Signal (read :: READ | rw) (a -> b) -> Signal (read :: READ | rw1) a -> Effect (Signal (read :: READ, write :: WRITE) b)

#bind' Source

bind' :: forall rw b a. (a -> Signal (read :: READ, write :: WRITE) b) -> Signal (read :: READ | rw) a -> Effect (Signal (read :: READ, write :: WRITE) b)

#merge Source

merge :: forall rw1 rw a. Signal (read :: READ | rw) a -> Signal (read :: READ | rw1) a -> Effect (Signal (read :: READ, write :: WRITE) a)

#foldp Source

foldp :: forall rw b a. (a -> b -> b) -> b -> Signal (read :: READ | rw) a -> Effect (Signal (read :: READ, write :: WRITE) b)

#sampleOn Source

sampleOn :: forall rw1 rw b a. Signal (read :: READ | rw) a -> Signal (read :: READ | rw1) b -> Effect (Signal (read :: READ, write :: WRITE) b)

#dropRepeats Source

dropRepeats :: forall rw a. Eq a => Signal (read :: READ | rw) a -> Effect (Signal (read :: READ, write :: WRITE) a)

#runSignal Source

runSignal :: forall rw. Signal (read :: READ | rw) (Effect Unit) -> Effect Unit

#unwrap Source

unwrap :: forall rw a. Signal (read :: READ | rw) (Effect a) -> Effect (Signal (read :: READ, write :: WRITE) a)

#filter Source

filter :: forall rw a. (a -> Boolean) -> a -> Signal (read :: READ | rw) a -> Effect (Signal (read :: READ, write :: WRITE) a)

#filterMap Source

filterMap :: forall rw b a. (a -> Maybe b) -> b -> Signal (read :: READ | rw) a -> Effect (Signal (read :: READ, write :: WRITE) b)

#flattenArray Source

flattenArray :: forall rw a. Signal (read :: READ | rw) (Array a) -> a -> Effect (Signal (read :: READ, write :: WRITE) a)

#flatten Source

flatten :: forall rw a f. Foldable f => Signal (read :: READ | rw) (f a) -> a -> Effect (Signal (read :: READ, write :: WRITE) a)