Module

Queue.One

Package
purescript-queue
Repository
athanclark/purescript-queue

#Queue Source

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

Constructors

Instances

#newQueue Source

newQueue :: forall a eff. Eff (ref :: REF | eff) (Queue (read :: READ, write :: WRITE) (ref :: REF | eff) a)

#putQueue Source

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

#putManyQueue Source

putManyQueue :: forall t a eff rw. Traversable t => Queue (write :: WRITE | rw) (ref :: REF | eff) a -> NonEmpty t a -> Eff (ref :: REF | eff) Unit

#onQueue Source

onQueue :: forall a eff rw. Queue (read :: READ | rw) (ref :: REF | eff) a -> Handler (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

#onceQueue Source

onceQueue :: forall a eff rw. Queue (read :: READ | rw) (ref :: REF | eff) a -> Handler (ref :: REF | eff) a -> Eff (ref :: REF | eff) Unit

Treat this as the only handler, and on the next input, clear all handlers.

#drawQueue Source

drawQueue :: forall a eff rw. Queue (read :: READ | rw) (ref :: REF | eff) a -> Aff (ref :: REF | eff) a

#takeQueue Source

takeQueue :: forall a eff rw. Queue (write :: WRITE | rw) (ref :: REF | eff) a -> Eff (ref :: REF | eff) (Array a)

#readQueue Source

readQueue :: forall a eff rw. Queue rw (ref :: REF | eff) a -> Eff (ref :: REF | eff) (Array a)

#delQueue Source

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

Removes the registered callbacks, if any.

#drainQueue Source

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

Re-exports from Queue.Types

#WRITE Source

data WRITE :: SCOPE

#READ Source

data READ :: SCOPE

#Handler Source

type Handler eff a = a -> Eff eff Unit

#QueueScope Source

class QueueScope (q :: Row SCOPE -> Row Effect -> Type -> Type) 

#SCOPE Source

data SCOPE :: Type