@duckness/saga
v1.0.0
Published
Saga extension for @duckness/duck - Modular Redux Ducks hatchery
Downloads
281
Readme
@duckness/saga
Redux Saga extension for @duckness/duck
Example
// counterDuck.js
import SagaDuck from '@duckness/saga'
// Create duck with the name 'counter' for 'counter-app' app
const counterDuck = SagaDuck('counter', 'counter-app')
// add saga
counterDuck.saga(function* watchIncrementAsync(_duckFace) {
yield takeEvery('INCREMENT_ASYNC', incrementAsync)
})
// root saga
export const rootSaga = counterDuck.rootSaga
Table of Contents
API
SagaDuck
extends duckness
Duck
Saga
.saga(saga)
Adds a new saga to the duck
myDuck.saga(function* mySaga(duckFace) { /*...*/ })
.rootSaga
Duck's root saga with sagas isolation (exceptions in one saga will not break other sagas).
myDuck.rootSaga
Error reporter
.setErrorReporter
Set error reporter (default is console.error
) that reports uncatched saga errors
myDuck.setErrorReporter(error => {
window.Sentry.captureException(error)
})
.reportError(error)
Call assigned error reporter
myDuck.reportError(new Error('Clean duck!'))
@Duckness packages:
- @duckness/duck - Modular Redux Ducks hatchery
- @duckness/saga - Redux Saga extension for @duckness/duck
- @duckness/epic - Redux-Observable extension for @duckness/duck
- @duckness/pool - @duckness/duck + Redux
- @duckness/pool-saga-stream - @duckness/saga plugin for @duckness/pool
- @duckness/pool-epic-stream - @duckness/epic plugin for @duckness/pool
- @duckness/react-redux-pool - @duckness/pool + React-Redux
- @duckness/use-redux - React hook for Redux store
- @duckness/use-pool - React hook for @duckness/pool.
- @duckness/store - simple store for React components
- @duckness/reactor - reactive data flow builder