Module

IxQueue

Package
purescript-queue
Repository
athanclark/purescript-queue

#IxQueue Source

newtype IxQueue (eff :: Row Effect) k a

#newIxQueue Source

newIxQueue :: forall a k eff. Eff (channel :: CHANNEL, ref :: REF | eff) (IxQueue (channel :: CHANNEL, ref :: REF | eff) k a)

#putIxQueue Source

putIxQueue :: forall a k eff. Ord k => IxQueue (channel :: CHANNEL, ref :: REF | eff) k a -> k -> a -> Eff (channel :: CHANNEL, ref :: REF | eff) Unit

#injectIxQueue Source

injectIxQueue :: forall a k eff. Ord k => IxQueue (channel :: CHANNEL, ref :: REF | eff) k a -> k -> Queue (channel :: CHANNEL, ref :: REF | eff) a -> Eff (channel :: CHANNEL, ref :: REF | eff) Unit

Note: if a Queue already exists in the IxQueue, then it reads all of the values in the existing queue before replacing it with the new one, then inserts the read entities.

#onIxQueue Source

onIxQueue :: forall a k eff. Ord k => IxQueue (channel :: CHANNEL, ref :: REF | eff) k a -> k -> (a -> Eff (channel :: CHANNEL, ref :: REF | eff) Unit) -> Eff (channel :: CHANNEL, ref :: REF | eff) Unit

#delIxQueue Source

delIxQueue :: forall a k eff. Ord k => IxQueue (channel :: CHANNEL, ref :: REF | eff) k a -> k -> Eff (channel :: CHANNEL, ref :: REF | eff) Unit
Modules
IxQueue
Queue