reactish-state 0.9.0 → 0.9.2

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.
package/dist/cjs/index.js CHANGED
@@ -16,14 +16,14 @@ var createState = function createState(_temp) {
16
16
  if (!Object.is(value, nextValue)) {
17
17
  value = nextValue;
18
18
  listeners.forEach(function (listener) {
19
- listener();
19
+ return listener();
20
20
  });
21
21
  }
22
22
  };
23
23
  var subscribe = function subscribe(listener) {
24
24
  listeners.add(listener);
25
25
  return function () {
26
- listeners["delete"](listener);
26
+ return listeners["delete"](listener);
27
27
  };
28
28
  };
29
29
  if (middleware) set = middleware({
@@ -12,14 +12,14 @@ var createState = function createState(_temp) {
12
12
  if (!Object.is(value, nextValue)) {
13
13
  value = nextValue;
14
14
  listeners.forEach(function (listener) {
15
- listener();
15
+ return listener();
16
16
  });
17
17
  }
18
18
  };
19
19
  var subscribe = function subscribe(listener) {
20
20
  listeners.add(listener);
21
21
  return function () {
22
- listeners["delete"](listener);
22
+ return listeners["delete"](listener);
23
23
  };
24
24
  };
25
25
  if (middleware) set = middleware({
@@ -17,15 +17,14 @@ function _extends() {
17
17
  return _extends.apply(this, arguments);
18
18
  }
19
19
 
20
- var applyMiddleware = function applyMiddleware() {
21
- for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
22
- middlewares[_key] = arguments[_key];
23
- }
20
+ var applyMiddleware = function applyMiddleware(middlewares, _temp) {
21
+ var _ref = _temp === void 0 ? {} : _temp,
22
+ fromRight = _ref.fromRight;
24
23
  return function (api, config) {
25
- return middlewares.reduceRight(function (set, middleware) {
26
- return middleware(_extends({}, api, {
24
+ return middlewares[fromRight ? 'reduceRight' : 'reduce'](function (set, middleware) {
25
+ return middleware ? middleware(_extends({}, api, {
27
26
  set: set
28
- }), config);
27
+ }), config) : set;
29
28
  }, api.set);
30
29
  };
31
30
  };
@@ -76,17 +75,14 @@ var reduxDevtools = function reduxDevtools(_temp) {
76
75
  var _ref = _temp === void 0 ? {} : _temp,
77
76
  name = _ref.name;
78
77
  var devtoolsExt;
79
- if (typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return function (_ref2) {
80
- var set = _ref2.set;
81
- return set;
82
- };
78
+ if (process.env.NODE_ENV === 'production' || typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return;
83
79
  var devtools = devtoolsExt.connect({
84
80
  name: name
85
81
  });
86
82
  var mergedState = {};
87
- return function (_ref3, config) {
88
- var set = _ref3.set,
89
- get = _ref3.get;
83
+ return function (_ref2, config) {
84
+ var set = _ref2.set,
85
+ get = _ref2.get;
90
86
  var key = config == null ? void 0 : config.key;
91
87
  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.');
92
88
  mergedState[key] = get();
@@ -1,14 +1,13 @@
1
1
  import { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.js';
2
2
 
3
- var applyMiddleware = function applyMiddleware() {
4
- for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
5
- middlewares[_key] = arguments[_key];
6
- }
3
+ var applyMiddleware = function applyMiddleware(middlewares, _temp) {
4
+ var _ref = _temp === void 0 ? {} : _temp,
5
+ fromRight = _ref.fromRight;
7
6
  return function (api, config) {
8
- return middlewares.reduceRight(function (set, middleware) {
9
- return middleware(_extends({}, api, {
7
+ return middlewares[fromRight ? 'reduceRight' : 'reduce'](function (set, middleware) {
8
+ return middleware ? middleware(_extends({}, api, {
10
9
  set: set
11
- }), config);
10
+ }), config) : set;
12
11
  }, api.set);
13
12
  };
14
13
  };
@@ -2,17 +2,14 @@ var reduxDevtools = function reduxDevtools(_temp) {
2
2
  var _ref = _temp === void 0 ? {} : _temp,
3
3
  name = _ref.name;
4
4
  var devtoolsExt;
5
- if (typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return function (_ref2) {
6
- var set = _ref2.set;
7
- return set;
8
- };
5
+ if (process.env.NODE_ENV === 'production' || typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return;
9
6
  var devtools = devtoolsExt.connect({
10
7
  name: name
11
8
  });
12
9
  var mergedState = {};
13
- return function (_ref3, config) {
14
- var set = _ref3.set,
15
- get = _ref3.get;
10
+ return function (_ref2, config) {
11
+ var set = _ref2.set,
12
+ get = _ref2.get;
16
13
  var key = config == null ? void 0 : config.key;
17
14
  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.');
18
15
  mergedState[key] = get();
@@ -1,15 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var applyPlugin = function applyPlugin() {
4
- for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {
5
- plugins[_key] = arguments[_key];
6
- }
7
- return function () {
8
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
9
- args[_key2] = arguments[_key2];
10
- }
3
+ var applyPlugin = function applyPlugin(plugins) {
4
+ return function (reactish, config) {
11
5
  return plugins.forEach(function (plugin) {
12
- return plugin.apply(void 0, args);
6
+ return plugin == null ? void 0 : plugin(reactish, config);
13
7
  });
14
8
  };
15
9
  };
@@ -18,9 +12,7 @@ var reduxDevtools = function reduxDevtools(_temp) {
18
12
  var _ref = _temp === void 0 ? {} : _temp,
19
13
  name = _ref.name;
20
14
  var devtoolsExt;
21
- if (typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return function () {
22
- /*do nothing*/
23
- };
15
+ if (process.env.NODE_ENV === 'production' || typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return;
24
16
  var devtools = devtoolsExt.connect({
25
17
  name: name
26
18
  });
@@ -1,13 +1,7 @@
1
- var applyPlugin = function applyPlugin() {
2
- for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {
3
- plugins[_key] = arguments[_key];
4
- }
5
- return function () {
6
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
7
- args[_key2] = arguments[_key2];
8
- }
1
+ var applyPlugin = function applyPlugin(plugins) {
2
+ return function (reactish, config) {
9
3
  return plugins.forEach(function (plugin) {
10
- return plugin.apply(void 0, args);
4
+ return plugin == null ? void 0 : plugin(reactish, config);
11
5
  });
12
6
  };
13
7
  };
@@ -2,9 +2,7 @@ var reduxDevtools = function reduxDevtools(_temp) {
2
2
  var _ref = _temp === void 0 ? {} : _temp,
3
3
  name = _ref.name;
4
4
  var devtoolsExt;
5
- if (typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return function () {
6
- /*do nothing*/
7
- };
5
+ if (process.env.NODE_ENV === 'production' || typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return;
8
6
  var devtools = devtoolsExt.connect({
9
7
  name: name
10
8
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactish-state",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "",
5
5
  "author": "Zheng Song",
6
6
  "license": "MIT",
@@ -11,7 +11,8 @@
11
11
  "files": [
12
12
  "dist/",
13
13
  "types/",
14
- "middleware"
14
+ "middleware/",
15
+ "plugin/"
15
16
  ],
16
17
  "scripts": {
17
18
  "start": "run-p watch \"types -- --watch\"",
@@ -25,12 +26,13 @@
25
26
  "pret": "prettier -c .",
26
27
  "pret:fix": "prettier -w .",
27
28
  "build": "run-s pret clean lint types bundle post-build",
29
+ "test": "jest",
30
+ "test:watch": "jest --watch",
28
31
  "eg": "npm run dev --prefix examples"
29
32
  },
30
33
  "peerDependencies": {
31
- "react": "^16.8 || ^17.0 || ^18.0",
32
- "react-dom": "^16.8 || ^17.0 || ^18.0",
33
- "immer": ">=6.0"
34
+ "immer": ">=6.0",
35
+ "react": "^16.8 || ^17.0 || ^18.0"
34
36
  },
35
37
  "peerDependenciesMeta": {
36
38
  "immer": {
@@ -43,10 +45,13 @@
43
45
  "devDependencies": {
44
46
  "@babel/core": "^7.19.6",
45
47
  "@babel/preset-env": "^7.19.4",
48
+ "@babel/preset-react": "^7.18.6",
46
49
  "@babel/preset-typescript": "^7.18.6",
47
50
  "@redux-devtools/extension": "^3.2.3",
48
51
  "@rollup/plugin-babel": "^6.0.0",
49
52
  "@rollup/plugin-node-resolve": "^15.0.0",
53
+ "@testing-library/jest-dom": "^5.16.5",
54
+ "@testing-library/react": "^13.4.0",
50
55
  "@types/jest": "^29.1.2",
51
56
  "@types/react": "^18.0.24",
52
57
  "@types/use-sync-external-store": "^0.0.3",
@@ -0,0 +1,7 @@
1
+ {
2
+ "private": true,
3
+ "sideEffects": false,
4
+ "main": "../dist/plugin/cjs/index.js",
5
+ "module": "../dist/plugin/es/index.js",
6
+ "types": "../types/plugin/index.d.ts"
7
+ }
@@ -1,3 +1,5 @@
1
1
  import type { Middleware } from '../common';
2
- declare const applyMiddleware: (...middlewares: Middleware[]) => Middleware;
2
+ declare const applyMiddleware: (middlewares: (Middleware | undefined)[], options?: {
3
+ fromRight?: boolean;
4
+ }) => Middleware;
3
5
  export { applyMiddleware };
@@ -1,6 +1,6 @@
1
1
  import type { Middleware } from '../common';
2
2
  declare type ReduxDevtools = (options?: {
3
3
  name?: string;
4
- }) => Middleware;
4
+ }) => Middleware | undefined;
5
5
  declare const reduxDevtools: ReduxDevtools;
6
6
  export { reduxDevtools };
@@ -1,3 +1,3 @@
1
1
  import type { Plugin } from '../common';
2
- declare const applyPlugin: (...plugins: Plugin[]) => Plugin;
2
+ declare const applyPlugin: (plugins: (Plugin | undefined)[]) => Plugin;
3
3
  export { applyPlugin };
@@ -1,6 +1,6 @@
1
1
  import type { Plugin } from '../common';
2
2
  declare type ReduxDevtools = (options?: {
3
3
  name?: string;
4
- }) => Plugin;
4
+ }) => Plugin | undefined;
5
5
  declare const reduxDevtools: ReduxDevtools;
6
6
  export { reduxDevtools };