reactish-state 0.11.2 → 1.0.0-alpha.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.
- package/README.md +100 -84
- package/dist/cjs/index.cjs +17 -0
- package/dist/cjs/react/shim.cjs +10 -0
- package/dist/cjs/react/useSelector.cjs +35 -0
- package/dist/cjs/react/useSnapshot.cjs +15 -0
- package/dist/cjs/utils.cjs +17 -0
- package/dist/cjs/vanilla/selector.cjs +35 -0
- package/dist/cjs/vanilla/state.cjs +35 -0
- package/dist/esm/index.mjs +5 -0
- package/dist/esm/react/shim.mjs +8 -0
- package/dist/esm/react/{useSelector.js → useSelector.mjs} +2 -2
- package/dist/esm/react/useSnapshot.mjs +13 -0
- package/dist/esm/vanilla/{selector.js → selector.mjs} +2 -2
- package/dist/esm/vanilla/{state.js → state.mjs} +1 -1
- package/dist/middleware/cjs/applyMiddleware.cjs +10 -0
- package/dist/middleware/cjs/index.cjs +11 -0
- package/dist/middleware/cjs/persist.cjs +39 -0
- package/dist/middleware/cjs/reduxDevtools.cjs +34 -0
- package/dist/middleware/esm/index.mjs +3 -0
- package/dist/middleware/esm/{persist.js → persist.mjs} +1 -1
- package/dist/middleware/esm/{reduxDevtools.js → reduxDevtools.mjs} +1 -1
- package/dist/plugin/cjs/applyPlugin.cjs +5 -0
- package/dist/plugin/cjs/index.cjs +9 -0
- package/dist/plugin/cjs/{index.js → reduxDevtools.cjs} +1 -4
- package/dist/plugin/esm/{applyPlugin.js → applyPlugin.mjs} +1 -1
- package/dist/plugin/esm/index.mjs +2 -0
- package/dist/plugin/esm/{reduxDevtools.js → reduxDevtools.mjs} +1 -1
- package/dist/shim/cjs/index.cjs +7 -0
- package/dist/shim/cjs/reactShim.cjs +7 -0
- package/dist/shim/esm/index.mjs +1 -0
- package/dist/shim/esm/reactShim.mjs +5 -0
- package/package.json +59 -43
- package/shim/index.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/middleware/persist.d.ts +1 -1
- package/types/react/shim.d.ts +4 -0
- package/types/react/useSelector.d.ts +2 -2
- package/types/shim/index.d.ts +1 -0
- package/types/shim/reactShim.d.ts +3 -0
- package/types/vanilla/selector.d.ts +1 -1
- package/types/vanilla/state.d.ts +1 -1
- package/dist/cjs/index.js +0 -116
- package/dist/esm/index.js +0 -4
- package/dist/esm/react/useSnapshot.js +0 -8
- package/dist/middleware/cjs/index.js +0 -79
- package/dist/middleware/esm/index.js +0 -3
- package/dist/plugin/esm/index.js +0 -2
- /package/dist/esm/{utils.js → utils.mjs} +0 -0
- /package/dist/middleware/cjs/{immer.js → immer.cjs} +0 -0
- /package/dist/middleware/esm/{applyMiddleware.js → applyMiddleware.mjs} +0 -0
- /package/dist/middleware/esm/{immer.js → immer.mjs} +0 -0
package/dist/esm/index.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const applyMiddleware = (middlewares, {
|
|
4
|
-
fromRight
|
|
5
|
-
} = {}) => (api, config) => middlewares[fromRight ? 'reduceRight' : 'reduce']((set, middleware) => middleware ? middleware({
|
|
6
|
-
...api,
|
|
7
|
-
set
|
|
8
|
-
}, config) : set, api.set);
|
|
9
|
-
|
|
10
|
-
const persist = ({
|
|
11
|
-
prefix,
|
|
12
|
-
getStorage = () => localStorage
|
|
13
|
-
} = {}) => {
|
|
14
|
-
const states = [];
|
|
15
|
-
const middleware = ({
|
|
16
|
-
set,
|
|
17
|
-
get
|
|
18
|
-
}, config) => {
|
|
19
|
-
let key = (config == null ? void 0 : config.key) || '';
|
|
20
|
-
if (!key) throw new Error('[reactish-state] state should be provided with a string `key` in the config object when the `persist` middleware is used.');
|
|
21
|
-
if (prefix) key = prefix + key;
|
|
22
|
-
states.push([key, set]);
|
|
23
|
-
return (...args) => {
|
|
24
|
-
set(...args);
|
|
25
|
-
try {
|
|
26
|
-
getStorage().setItem(key, JSON.stringify(get()));
|
|
27
|
-
} catch (_unused) {
|
|
28
|
-
/* continue regardless of error */
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
middleware.hydrate = () => {
|
|
33
|
-
states.forEach(([key, set]) => {
|
|
34
|
-
try {
|
|
35
|
-
const value = getStorage().getItem(key);
|
|
36
|
-
value != null && set(value !== 'undefined' ? JSON.parse(value) : undefined, `HYDRATE_${key}`);
|
|
37
|
-
} catch (_unused2) {
|
|
38
|
-
/* continue regardless of error */
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
states.length = 0;
|
|
42
|
-
};
|
|
43
|
-
return middleware;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const reduxDevtools = ({
|
|
47
|
-
name
|
|
48
|
-
} = {}) => {
|
|
49
|
-
let devtoolsExt;
|
|
50
|
-
if (process.env.NODE_ENV === 'production' || typeof window === 'undefined' || !(devtoolsExt = window.__REDUX_DEVTOOLS_EXTENSION__)) return;
|
|
51
|
-
const devtools = devtoolsExt.connect({
|
|
52
|
-
name
|
|
53
|
-
});
|
|
54
|
-
const mergedState = {};
|
|
55
|
-
return ({
|
|
56
|
-
set,
|
|
57
|
-
get
|
|
58
|
-
}, config) => {
|
|
59
|
-
const key = config == null ? void 0 : config.key;
|
|
60
|
-
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.');
|
|
61
|
-
mergedState[key] = get();
|
|
62
|
-
devtools.init(mergedState);
|
|
63
|
-
return (...args) => {
|
|
64
|
-
const [value, action] = args;
|
|
65
|
-
set(...args);
|
|
66
|
-
mergedState[key] = get();
|
|
67
|
-
devtools.send(typeof action === 'string' ? {
|
|
68
|
-
type: action
|
|
69
|
-
} : action || {
|
|
70
|
-
type: `SET_${key}`,
|
|
71
|
-
value
|
|
72
|
-
}, mergedState);
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
exports.applyMiddleware = applyMiddleware;
|
|
78
|
-
exports.persist = persist;
|
|
79
|
-
exports.reduxDevtools = reduxDevtools;
|
package/dist/plugin/esm/index.js
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|