reactish-state 0.10.3 → 0.10.4

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.
@@ -2,10 +2,9 @@
2
2
 
3
3
  const applyMiddleware = (middlewares, {
4
4
  fromRight
5
- } = {}) => (api, config) => middlewares[fromRight ? 'reduceRight' : 'reduce']((set, middleware) => middleware ? middleware({
6
- ...api,
5
+ } = {}) => (api, config) => middlewares[fromRight ? 'reduceRight' : 'reduce']((set, middleware) => middleware ? middleware(Object.assign({}, api, {
7
6
  set
8
- }, config) : set, api.set);
7
+ }), config) : set, api.set);
9
8
 
10
9
  const persist = ({
11
10
  prefix,
@@ -22,13 +21,21 @@ const persist = ({
22
21
  states.push([key, set]);
23
22
  return (...args) => {
24
23
  set(...args);
25
- getStorage().setItem(key, JSON.stringify(get()));
24
+ try {
25
+ getStorage().setItem(key, JSON.stringify(get()));
26
+ } catch (_unused) {
27
+ /* continue regardless of error */
28
+ }
26
29
  };
27
30
  };
28
31
  middleware.hydrate = () => {
29
32
  states.forEach(([key, set]) => {
30
- const value = getStorage().getItem(key);
31
- value != null && set(value !== 'undefined' ? JSON.parse(value) : undefined, `HYDRATE_${key}`);
33
+ try {
34
+ const value = getStorage().getItem(key);
35
+ value != null && set(value !== 'undefined' ? JSON.parse(value) : undefined, `HYDRATE_${key}`);
36
+ } catch (_unused2) {
37
+ /* continue regardless of error */
38
+ }
32
39
  });
33
40
  states.length = 0;
34
41
  };
@@ -52,8 +59,9 @@ const reduxDevtools = ({
52
59
  if (!key) throw new Error('[reactish-state] state should be provided with a string `key` in the config object when the `reduxDevtools` middleware is used.');
53
60
  mergedState[key] = get();
54
61
  devtools.init(mergedState);
55
- return function (value, action) {
56
- set.apply(null, arguments);
62
+ return (...args) => {
63
+ const [value, action] = args;
64
+ set(...args);
57
65
  mergedState[key] = get();
58
66
  devtools.send(typeof action === 'string' ? {
59
67
  type: action
@@ -1,8 +1,7 @@
1
1
  const applyMiddleware = (middlewares, {
2
2
  fromRight
3
- } = {}) => (api, config) => middlewares[fromRight ? 'reduceRight' : 'reduce']((set, middleware) => middleware ? middleware({
4
- ...api,
3
+ } = {}) => (api, config) => middlewares[fromRight ? 'reduceRight' : 'reduce']((set, middleware) => middleware ? middleware(Object.assign({}, api, {
5
4
  set
6
- }, config) : set, api.set);
5
+ }), config) : set, api.set);
7
6
 
8
7
  export { applyMiddleware };
@@ -13,13 +13,21 @@ const persist = ({
13
13
  states.push([key, set]);
14
14
  return (...args) => {
15
15
  set(...args);
16
- getStorage().setItem(key, JSON.stringify(get()));
16
+ try {
17
+ getStorage().setItem(key, JSON.stringify(get()));
18
+ } catch (_unused) {
19
+ /* continue regardless of error */
20
+ }
17
21
  };
18
22
  };
19
23
  middleware.hydrate = () => {
20
24
  states.forEach(([key, set]) => {
21
- const value = getStorage().getItem(key);
22
- value != null && set(value !== 'undefined' ? JSON.parse(value) : undefined, `HYDRATE_${key}`);
25
+ try {
26
+ const value = getStorage().getItem(key);
27
+ value != null && set(value !== 'undefined' ? JSON.parse(value) : undefined, `HYDRATE_${key}`);
28
+ } catch (_unused2) {
29
+ /* continue regardless of error */
30
+ }
23
31
  });
24
32
  states.length = 0;
25
33
  };
@@ -15,8 +15,9 @@ const reduxDevtools = ({
15
15
  if (!key) throw new Error('[reactish-state] state should be provided with a string `key` in the config object when the `reduxDevtools` middleware is used.');
16
16
  mergedState[key] = get();
17
17
  devtools.init(mergedState);
18
- return function (value, action) {
19
- set.apply(null, arguments);
18
+ return (...args) => {
19
+ const [value, action] = args;
20
+ set(...args);
20
21
  mergedState[key] = get();
21
22
  devtools.send(typeof action === 'string' ? {
22
23
  type: action
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactish-state",
3
- "version": "0.10.3",
3
+ "version": "0.10.4",
4
4
  "description": "Simple, decentralized state management for React.",
5
5
  "author": "Zheng Song",
6
6
  "license": "MIT",