This package has been deprecated

Author message:

This library is no longer being maintained. Please see https://github.com/ioof-holdings/redux-subspace/issues/546 for more details.

redux-subspace-saga
TypeScript icon, indicating that this package has built-in type declarations

6.2.1 • Public • Published

redux-subspace-saga

Deprecated

This library is no longer being actively maintained.

IOOF has been slowly moving away from the ubiquitous use of Redux as a core piece of our micro-frontend architecture and have been actively replacing the usage of this library with more standard React and JavaScript patterns. Due to some technical constraints, we've also been unable to upgrade to the latest version of the library ourselves for quite some time now, further fuelling our desire to move away from this solution.

At this time, we will be ceasing all maintenance tasks and we recommend that you consider using an alternative library:

If you want to continue using this library, we encourage you to fork this repo and take over maintenance yourself.


npm version npm downloads License: BSD-3-Clause

This is an extension for redux-subspace to create subspaces for sagas. It's designed to work with redux-saga middleware.

Installation

npm install --save redux redux-saga redux-subspace redux-subspace-saga

Quick Start

import { createStore, combineReducers } from 'redux'
import { namespaced, applyMiddleware } from 'redux-subspace'
import createSagaMiddleware, { subspaced } from 'redux-subspace-saga'
import { all } from 'redux-saga/effects'
import { todoReducer, todoSaga } from './todoApp'
import { counterReducer, counterSaga } from './counterApp'

const rootReducer = combineReducers({
  todo: todoReducer
  counter1: namespaced('counter1')(counterReducer),
  counter2: namespaced('counter2')(counterReducer)
})

const sagaMiddleware = createSagaMiddleware()

const store = createStore(rootReducer, applyMiddleware(sagaMiddleware))

const subspacedTodoSaga = subspaced((state) => state.todo)(todoSaga)
const subspacedCounter1Saga = subspaced((state) => state.counter1, 'counter1')(counterSaga)
const subspacedCounter2Saga = subspaced((state) => state.counter2, 'counter2')(counterSaga)

function* rootSaga() {
  yield all([
    subspacedTodoSaga(),
    subspacedCounter1Saga(),
    subspacedCounter2Saga()
  ])
}

sagaMiddleware.run(rootSaga)

Documentation

Readme

Keywords

none

Package Sidebar

Install

npm i redux-subspace-saga

Weekly Downloads

163

Version

6.2.1

License

BSD-3-Clause

Unpacked Size

22.5 kB

Total Files

10

Last publish

Collaborators

  • jpeyper
  • mpeyper
  • ozwolf