Module

Sparrow.Client.Queue

Package
purescript-sparrow-queue
Repository
athanclark/purescript-sparrow-queue

#SparrowStaticClientQueues Source

type SparrowStaticClientQueues initIn initOut = IOQueues initIn (Maybe initOut)

#SparrowClientQueues Source

type SparrowClientQueues initIn initOut deltaIn deltaOut = { deltaIn :: Queue (write :: WRITE) deltaIn, deltaOut :: Queue (read :: READ) deltaOut, init :: SparrowStaticClientQueues initIn initOut, onReject :: Queue (read :: READ) Unit, unsubscribe :: Queue (write :: WRITE) Unit }

#newSparrowStaticClientQueues Source

newSparrowStaticClientQueues :: forall initOut initIn. Effect (SparrowStaticClientQueues initIn initOut)

#newSparrowClientQueues Source

newSparrowClientQueues :: forall deltaOut deltaIn initOut initIn. Effect (SparrowClientQueues initIn initOut deltaIn deltaOut)

#sparrowStaticClientQueues Source

sparrowStaticClientQueues :: forall initOut initIn. SparrowStaticClientQueues initIn initOut -> Client initIn initOut JSONVoid JSONVoid

#sparrowClientQueues Source

sparrowClientQueues :: forall deltaOut deltaIn initOut initIn. SparrowClientQueues initIn initOut deltaIn deltaOut -> Client initIn initOut deltaIn deltaOut

#callSparrowClientQueues Source

callSparrowClientQueues :: forall deltaOut deltaIn initOut initIn. SparrowClientQueues initIn initOut deltaIn deltaOut -> (deltaOut -> Effect Unit) -> initIn -> Aff (Maybe { deltaIn :: deltaIn -> Effect Unit, initOut :: initOut, unsubscribe :: Effect Unit })

Simplified version of calling queues, which doesn't care about unsubscribing

#mountSparrowClientQueuesSingleton Source

mountSparrowClientQueuesSingleton :: forall deltaOut deltaIn initOut initIn. SparrowClientQueues initIn initOut deltaIn deltaOut -> Queue (write :: WRITE) deltaIn -> Queue (write :: WRITE) initIn -> (deltaOut -> Effect Unit) -> (Maybe initOut -> Effect Unit) -> Effect (Effect Unit)

Be open as long as possible, while disallowing multiple init invocations while a subscription is open. The only way to dismantle is through killing the sub, via the result action