Module

Redux.Saga

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

#channel Source

channel :: forall state action input. String -> ((input -> IO Unit) -> IO Unit) -> Saga' input action state Unit -> Saga' action action state Unit

#take Source

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

#put Source

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

#joinTask Source

joinTask :: forall state output input. SagaTask -> Saga' input output state Unit

#cancelTask Source

cancelTask :: forall state output input. SagaTask -> Saga' input output state Unit

#select Source

select :: forall state output input. Saga' input output state state

#fork Source

fork :: forall state output input. Saga' input output state Unit -> Saga' input output state SagaTask

#forkNamed Source

forkNamed :: forall state output input. String -> Saga' input output state Unit -> Saga' input output state SagaTask

#Saga Source

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

#SagaTask Source

newtype SagaTask

#Saga' Source

newtype Saga' input output state a

Instances

#SagaPipe Source

type SagaPipe input action state a = Pipe input action (ReaderT (SagaThread input action state) IO) a

#SagaProc Source

type SagaProc input = { id :: Int, output :: Output input, successVar :: AVar Unit }

#SagaThread Source

type SagaThread input action state = { api :: MiddlewareAPI (infinity :: INFINITY) action state Unit, failureVar :: AVar Error, idSupply :: IdSupply, procsRef :: Ref (Array (SagaProc input)), tag :: String }

#IdSupply Source

newtype IdSupply

#sagaMiddleware Source

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