redux-fluent
Advanced tools
Comparing version 0.8.6 to 0.8.7
@@ -5,2 +5,6 @@ # Change Log | ||
## [0.8.7](https://github.com/Code-Y/redux-fluent/compare/v0.8.6...v0.8.7) (2019-03-11) | ||
## [0.8.6](https://github.com/Code-Y/redux-fluent/compare/v0.8.5...v0.8.6) (2019-03-11) | ||
@@ -7,0 +11,0 @@ |
/**! | ||
* @build-info development - Mon Mar 11 2019 07:25:02 GMT+0000 (Coordinated Universal Time) | ||
* @build-info development - Mon Mar 11 2019 07:56:58 GMT+0000 (Coordinated Universal Time) | ||
* @name redux-fluent | ||
* @version 0.8.6 | ||
* @version 0.8.7 | ||
* @author Code-Y | ||
@@ -7,0 +7,0 @@ * @description Enjoy Redux - Less Boilerplate / Go Functional |
/**! | ||
* @build-info production - Mon Mar 11 2019 07:25:02 GMT+0000 (Coordinated Universal Time) | ||
* @build-info production - Mon Mar 11 2019 07:56:58 GMT+0000 (Coordinated Universal Time) | ||
* @name redux-fluent | ||
* @version 0.8.6 | ||
* @version 0.8.7 | ||
* @author Code-Y | ||
@@ -7,0 +7,0 @@ * @description Enjoy Redux - Less Boilerplate / Go Functional |
{ | ||
"name": "redux-fluent", | ||
"license": "MIT", | ||
"version": "0.8.6", | ||
"version": "0.8.7", | ||
"homepage": "https://github.com/Code-Y/redux-fluent#readme", | ||
@@ -6,0 +6,0 @@ "description": "Enjoy Redux - Less Boilerplate / Go Functional", |
@@ -12,5 +12,5 @@ # <a href='https://github.com/Code-Y/redux-fluent'><img src='https://raw.githubusercontent.com/Code-Y/redux-fluent/master/redux-fluent-logo.png' height='60' alt='Redux Fluent' aria-label='https://github.com/Code-Y/redux-fluent' /></a> redux-fluent | ||
Tiny and eloquent way of bringing redux to the next level (*~3K*, dependencies free, typings included). | ||
Tiny and eloquent way of bringing redux to the next level (*~3K*, typings included). | ||
[Try it out on RunKit](https://runkit.com/hitmands/redux-fluent-playground) | ||
~~[Try it out on RunKit](https://runkit.com/hitmands/redux-fluent-playground)~~ (*coming soon*) | ||
@@ -21,3 +21,3 @@ ## Motivation | ||
- **λ Go Functional**, Everything is a function and reducers are built by function composition rather than piling up if and switch-case statements: [*Let's introduce Redux Fluent Reducers*](#createreducer). | ||
- **λ Go Functional**, Everything is a function and reducers are built by function composition rather than piling up *if* and *switch-case* statements: [*Let's introduce Redux Fluent Reducers*](#createreducer). | ||
- **Reducers at scale**, due to being handling multiple actions, reducers tend to grow and become difficult to maintain: [*Let's introduce Redux Fluent Action Handlers*](#oftype). | ||
@@ -110,2 +110,9 @@ - **Less boilerplate**, Flux architecture is usually verbose and some of their concepts, such as `Action`, `Action Type` and `Action Creator` could all be implemented in a single entity: [*Let's introduce Redux Fluent Actions*](#createaction). | ||
/** | ||
* Action Creator | ||
* | ||
* @param {*|Error} payload | ||
* @param {*} meta | ||
* @returns RFA<'todos | add', *|Error, *> - Flux Standard Action | ||
*/ | ||
const addTodo = createAction('todos | add'); | ||
@@ -118,3 +125,3 @@ console.log(addTodo.type); // 'todos | add' | ||
As we just said, a reducer is nothing more than a function combinator, it does not contain any business logic. The job of actually mutating the state is left to the Action Handlers. Embracing the [Single Responsibility Principle](https://en.wikipedia.org/wiki/Single_responsibility_principle), we can build simple, easy to test, dedicated functions that do only one thing. | ||
As we just said, a reducer is nothing more than a function combinator, it does not contain any business logic. The job of actually mutating the state is left to the Action Handlers. By embracing the [Single Responsibility Principle](https://en.wikipedia.org/wiki/Single_responsibility_principle), we can build simple, easy to test, dedicated functions that do only one thing. | ||
@@ -124,3 +131,3 @@ ```typescript | ||
ofType(action: ReduxFluentActionCreator).map((state: any, action: AnyAction) => state); | ||
ofType(action: ReduxFluentActionCreator).map((state: any, action: RFA) => state); | ||
ofType(type: string).map((state: any, action: AnyAction) => state); | ||
@@ -127,0 +134,0 @@ ofType(action: { type: string }).map((state: any, action: AnyAction) => state); |
71043
198