reactish-state 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,10 +5,25 @@ var applyMiddleware = function applyMiddleware() {
5
5
  middlewares[_key] = arguments[_key];
6
6
  }
7
7
  return function (set, get, context) {
8
- middlewares.forEach(function (middleware) {
9
- return set = middleware(set, get, context);
10
- });
11
- return set;
8
+ return middlewares.reduceRight(function (prev, curr) {
9
+ return curr(prev, get, context);
10
+ }, set);
11
+ };
12
+ };
13
+
14
+ var devtools = function devtools(set, get, context) {
15
+ if (typeof window === 'undefined') return set;
16
+ var devtoolsExtension = window.__REDUX_DEVTOOLS_EXTENSION__;
17
+ var extension = devtoolsExtension.connect({
18
+ name: context.key
19
+ });
20
+ extension.init(get());
21
+ return function (vaule) {
22
+ set(vaule);
23
+ extension.send({
24
+ type: 'anonymous',
25
+ vaule: vaule
26
+ }, get());
12
27
  };
13
28
  };
14
29
 
@@ -43,4 +58,5 @@ var persist = function persist(_temp) {
43
58
  };
44
59
 
45
60
  exports.applyMiddleware = applyMiddleware;
61
+ exports.devtools = devtools;
46
62
  exports.persist = persist;
@@ -3,10 +3,9 @@ var applyMiddleware = function applyMiddleware() {
3
3
  middlewares[_key] = arguments[_key];
4
4
  }
5
5
  return function (set, get, context) {
6
- middlewares.forEach(function (middleware) {
7
- return set = middleware(set, get, context);
8
- });
9
- return set;
6
+ return middlewares.reduceRight(function (prev, curr) {
7
+ return curr(prev, get, context);
8
+ }, set);
10
9
  };
11
10
  };
12
11
 
@@ -0,0 +1,17 @@
1
+ var devtools = function devtools(set, get, context) {
2
+ if (typeof window === 'undefined') return set;
3
+ var devtoolsExtension = window.__REDUX_DEVTOOLS_EXTENSION__;
4
+ var extension = devtoolsExtension.connect({
5
+ name: context.key
6
+ });
7
+ extension.init(get());
8
+ return function (vaule) {
9
+ set(vaule);
10
+ extension.send({
11
+ type: 'anonymous',
12
+ vaule: vaule
13
+ }, get());
14
+ };
15
+ };
16
+
17
+ export { devtools };
@@ -1,2 +1,3 @@
1
1
  export { applyMiddleware } from './applyMiddleware.js';
2
+ export { devtools } from './devtools.js';
2
3
  export { persist } from './persist.js';
@@ -0,0 +1,10 @@
1
+ /* eslint-disable no-console */
2
+ var logger = function logger(set, get) {
3
+ return function (value) {
4
+ console.log('setting', value);
5
+ set(value);
6
+ console.log('next state', get());
7
+ };
8
+ };
9
+
10
+ export { logger };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactish-state",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "",
5
5
  "author": "Zheng Song",
6
6
  "license": "MIT",
@@ -0,0 +1,3 @@
1
+ import type { Middleware } from '../common';
2
+ declare const devtools: Middleware;
3
+ export { devtools };
@@ -1,2 +1,3 @@
1
1
  export { applyMiddleware } from './applyMiddleware';
2
+ export { devtools } from './devtools';
2
3
  export { persist } from './persist';