Module
Sparrow.Client.Queue
- Package
- purescript-sparrow-queue
- Repository
- athanclark/purescript-sparrow-queue
#SparrowStaticClientQueues Source
type SparrowStaticClientQueues initIn initOut = IOQueues initIn (Maybe initOut)
#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