domain-specific-saga

0.0.1 • Public • Published

NPM Package Travis Coverage Status Dependency Status Standard - JavaScript Style Guide

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

Package Sidebar

Install

npm i domain-specific-saga

Weekly Downloads

1

Version

0.0.1

License

MIT

Last publish

Collaborators

  • netkuy