Module

Redux.Saga

Package
purescript-redux-saga
Repository
felixschl/purescript-redux-saga

#emit Source

emit :: forall state action a eff. a -> Channel eff a action state -> Aff (avar :: AVAR, ref :: REF | eff) Unit

#channel Source

channel :: forall a state action input eff. Saga' (avar :: AVAR, ref :: REF | eff) input action state (Channel eff a action state)

#inChannel Source

inChannel :: forall eff state action input a. Channel eff a action state -> Saga' (avar :: AVAR, ref :: REF | eff) a action state Unit -> Saga' (avar :: AVAR, ref :: REF | eff) input action state Unit

#take Source

take :: forall eff state action input. (input -> Maybe (Saga' eff input action state Unit)) -> Saga' eff input action state Unit

#put Source

put :: forall eff state action input. action -> Saga' eff input action state Unit

#joinTask Source

joinTask :: forall state action input eff. SagaTask -> Saga' eff input action state (Maybe Error)

#fork Source

fork :: forall state action input eff2 eff. Saga' eff input action state Unit -> Saga' eff2 input action state SagaTask

#select Source

select :: forall state action input eff. Saga' eff input action state state

#Saga Source

type Saga eff action state a = Saga' eff action action state a

#Saga' Source

newtype Saga' eff input action state a

Instances

#SagaPipe Source

type SagaPipe eff input action state a = Pipe input action (ReaderT (SagaVolatileState (avar :: AVAR, ref :: REF | eff) input action state) (Aff (avar :: AVAR, ref :: REF | eff))) a

#SagaTask Source

#SagaVolatileState Source

type SagaVolatileState eff input action state = { api :: MiddlewareAPI eff action state Unit, failureVar :: AVar Error, idRef :: Ref Int, threadsRef :: Ref (Array { completionVar :: SagaTask, id :: Int, output :: Output eff input }) }

#sagaMiddleware Source

sagaMiddleware :: forall state action. Saga' _ action action state Unit -> Middleware _ action state Unit
Modules
Redux.Saga