Module

IxSignal.Internal

Package
purescript-zeta
Repository
athanclark/purescript-zeta

#IxSignal Source

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

Constructors

Instances

#subscribe Source

subscribe :: forall a rw eff. (a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit) -> IxSignal (read :: READ | rw) (ref :: REF, uuid :: GENUUID | eff) a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit

#subscribeLight Source

subscribeLight :: forall a rw eff. (a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit) -> IxSignal (read :: READ | rw) (ref :: REF, uuid :: GENUUID | eff) a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit

#subscribeDiff Source

subscribeDiff :: forall a rw eff. Eq a => (a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit) -> IxSignal (read :: READ | rw) (ref :: REF, uuid :: GENUUID | eff) a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit

#subscribeDiffLight Source

subscribeDiffLight :: forall a rw eff. Eq a => (a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit) -> IxSignal (read :: READ | rw) (ref :: REF, uuid :: GENUUID | eff) a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit

#subscribeIx Source

subscribeIx :: forall a rw eff. (a -> Eff (ref :: REF | eff) Unit) -> String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#subscribeIxLight Source

subscribeIxLight :: forall a rw eff. (a -> Eff (ref :: REF | eff) Unit) -> String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#subscribeIxDiff Source

subscribeIxDiff :: forall a rw eff. Eq a => (a -> Eff (ref :: REF | eff) Unit) -> String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#subscribeIxDiffLight Source

subscribeIxDiffLight :: forall a rw eff. Eq a => (a -> Eff (ref :: REF | eff) Unit) -> String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#subscribeWithKey Source

subscribeWithKey :: forall a rw eff. (String -> a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit) -> IxSignal (read :: READ | rw) (ref :: REF, uuid :: GENUUID | eff) a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit

#subscribeWithKeyLight Source

subscribeWithKeyLight :: forall a rw eff. (String -> a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit) -> IxSignal (read :: READ | rw) (ref :: REF, uuid :: GENUUID | eff) a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit

#subscribeWithKeyDiff Source

subscribeWithKeyDiff :: forall a rw eff. Eq a => (String -> a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit) -> IxSignal (read :: READ | rw) (ref :: REF, uuid :: GENUUID | eff) a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit

#subscribeWithKeyDiffLight Source

subscribeWithKeyDiffLight :: forall a rw eff. Eq a => (String -> a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit) -> IxSignal (read :: READ | rw) (ref :: REF, uuid :: GENUUID | eff) a -> Eff (ref :: REF, uuid :: GENUUID | eff) Unit

#subscribeIxWithKey Source

subscribeIxWithKey :: forall a rw eff. (String -> a -> Eff (ref :: REF | eff) Unit) -> String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Add a subscriber to the set, removing and using a specific named value if it exists

#subscribeIxWithKeyLight Source

subscribeIxWithKeyLight :: forall a rw eff. (String -> a -> Eff (ref :: REF | eff) Unit) -> String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Add a subscriber to the set, without applying a value first. Deletes specific indexed named value, if it exists.

#subscribeIxWithKeyDiff Source

subscribeIxWithKeyDiff :: forall a rw eff. Eq a => (String -> a -> Eff (ref :: REF | eff) Unit) -> String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Only respond to changes in signal's value, not submissions in total

#subscribeIxWithKeyDiffLight Source

subscribeIxWithKeyDiffLight :: forall a rw eff. Eq a => (String -> a -> Eff (ref :: REF | eff) Unit) -> String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Like subscribeIxWithKeyDiff, but without an initial firing

#set Source

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

Publish a message to the set of subscribers

#setExcept Source

setExcept :: forall a rw eff. Array String -> a -> IxSignal (write :: WRITE | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#setIx Source

setIx :: forall a rw eff. a -> String -> IxSignal (write :: WRITE | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Set a distinguished value for the index, storing if a subscriber is absent

#setDiff Source

setDiff :: forall a rw eff. Eq a => a -> IxSignal (read :: READ, write :: WRITE) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#setExceptDiff Source

setExceptDiff :: forall a rw eff. Eq a => Array String -> a -> IxSignal (read :: READ, write :: WRITE) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#setIxDiff Source

setIxDiff :: forall a rw eff. Eq a => a -> String -> IxSignal (read :: READ, write :: WRITE) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#get Source

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

Gets the last message published to the subscribers

#getIx Source

getIx :: forall a rw eff. String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) a

Attempts to get the last named value, else use the global one.

#clearSubscribers Source

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

Removes all subscribers

#clearIndividual Source

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

Removes all individual

#clear Source

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

Removes all from both

#deleteSubscriber Source

deleteSubscriber :: forall a rw eff. String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#deleteIndividual Source

deleteIndividual :: forall a rw eff. String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#delete Source

delete :: forall a rw eff. String -> IxSignal (read :: READ | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#make Source

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

Create a signal with a starting value