README
Domain Specific Saga
A helper library to realize Domain Specific Saga for your Redux + redux-saga apps.
NOTE: This package is ACTIVELY UNDER DEVELOPMENT.
Installation
yarn add domain-specific-saga
Or
npm install --save domain-specific-saga
Features
- ✅ Transform
- ☑️ Intercept
- ☑️ Cancel
- ...More?
Usage
import transform from 'domain-specific-saga'
const rules = [
value => {
if (typeof value === 'number') {
return value.toString()
} else {
return value
}
},
]
function* generator() {
yield 3
yield 'hoge'
yield -2
}
const i = transform(generator(), rules)
i.next() // => '3'
i.next() // => 'hoge'
i.next() // => '-2'
The Goal
import
const rules = [
value => {
if (typeof value === 'number') {
if (value === 0) {
return INTERCEPT;
} else if (0 < value) {
return put(increment(value));
} else {
return put(decrement(Math.abs(value)));
}
return value;
}
},
value => {
if (typeof value === 'boolean' && value === false) {
return put(reset());
} else {
return value;
}
},
];
function* saga() {
yield 3;
yield false;
yield -2;
yield 0;
}
function* rootSaga() {
yield call(createDSS(saga, rules));
}
License
MIT
Author
Yuki Kodama / @kuy