Saga extension for @duckness/duck - Modular Redux Ducks hatchery
npm install @duckness/saga@duckness/saga Redux Saga extension for @duckness/duck






``js
// 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
`
- Example
- API
- Saga
- .saga(saga)
- .rootSaga
- Error reporter
- .setErrorReporter
- .reportError(error)
- @Duckness packages:
SagaDuck extends duckness Duck
Adds a new saga to the duck
`js`
myDuck.saga(function mySaga(duckFace) { /...*/ })
Duck's root saga with sagas isolation (exceptions in one saga will not break other sagas).
`js`
myDuck.rootSaga
Set error reporter (default is console.error) that reports uncatched saga errors`js`
myDuck.setErrorReporter(error => {
window.Sentry.captureException(error)
})
Call assigned error reporter
`js``
myDuck.reportError(new Error('Clean duck!'))
* @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