@slimlib/store 1.1.0 → 1.1.3

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 CHANGED
@@ -66,16 +66,14 @@ In store
66
66
  import { createStore, useStore } from '@slimlib/store/svelte';
67
67
 
68
68
  // create store
69
- const [state, store] = createStore();
69
+ const [state, subscribe] = createStore();
70
70
 
71
71
  // action
72
- function doSomething() {
72
+ export function doSomething() {
73
73
  state.field = value;
74
74
  }
75
75
 
76
- export const storeName = {
77
- subscribe: store
78
- };
76
+ export default { subscribe };
79
77
  ```
80
78
 
81
79
  In component
@@ -137,6 +135,11 @@ Store factory created with `notifyAfterCreation` === `true`.
137
135
  Mixing proxied values and values from underlying object can fail for cases where code needs checking for equality.
138
136
 
139
137
  For example searching array element from underlying object in proxified array will fail.
138
+
139
+ ## Similar projects
140
+
141
+ [Valtio](https://github.com/pmndrs/valtio) - more sofisticated but similar approach, less limitations
142
+
140
143
  # License
141
144
 
142
145
  [MIT](./LICENSE)
package/dist/preact.cjs CHANGED
@@ -10,7 +10,7 @@ const useStore = (store) => {
10
10
  const [, setState] = hooks.useState();
11
11
  hooks.useEffect(() => {
12
12
  return store(() => setState({}));
13
- }, []);
13
+ }, [store]);
14
14
  return store();
15
15
  };
16
16
 
package/dist/preact.mjs CHANGED
@@ -6,7 +6,7 @@ const useStore = (store) => {
6
6
  const [, setState] = useState();
7
7
  useEffect(() => {
8
8
  return store(() => setState({}));
9
- }, []);
9
+ }, [store]);
10
10
  return store();
11
11
  };
12
12
 
@@ -1,2 +1,2 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("preact/hooks"),require("./core")):"function"==typeof define&&define.amd?define(["exports","preact/hooks","./core"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).slimlibStorePreact={},e.preactHooks,e.slimlibStoreCore)}(this,(function(e,o,t){"use strict";const n=t.createStoreFactory(!1);e.createStore=n,e.useStore=e=>{const[,t]=o.useState();return o.useEffect((()=>e((()=>t({})))),[]),e()},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("preact/hooks"),require("./core")):"function"==typeof define&&define.amd?define(["exports","preact/hooks","./core"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).slimlibStorePreact={},e.preactHooks,e.slimlibStoreCore)}(this,(function(e,o,t){"use strict";const n=t.createStoreFactory(!1);e.createStore=n,e.useStore=e=>{const[,t]=o.useState();return o.useEffect((()=>e((()=>t({})))),[e]),e()},Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=preact.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preact.umd.js","sources":["../src/preact.ts"],"sourcesContent":["import { useState, useEffect } from 'preact/hooks';\nimport { createStoreFactory, Store } from './core';\n\nexport const createStore = createStoreFactory(false);\n\nexport const useStore = <T>(store: Store<T>) => {\n const [, setState] = useState<object>();\n \n useEffect(() => {\n return store(() => setState({}));\n }, []);\n \n return store();\n};\n"],"names":["createStore","createStoreFactory","store","setState","useState","useEffect"],"mappings":"uWAGaA,EAAcC,sBAAmB,8BAElBC,IACxB,OAASC,GAAYC,aAMrB,OAJAC,aAAU,IACCH,GAAM,IAAMC,EAAS,OAC7B,IAEID"}
1
+ {"version":3,"file":"preact.umd.js","sources":["../src/preact.ts"],"sourcesContent":["import { useState, useEffect } from 'preact/hooks';\nimport { createStoreFactory, Store } from './core';\n\nexport const createStore = createStoreFactory(false);\n\nexport const useStore = <T>(store: Store<T>) => {\n const [, setState] = useState<object>();\n \n useEffect(() => {\n return store(() => setState({}));\n }, [store]);\n \n return store();\n};\n"],"names":["createStore","createStoreFactory","store","setState","useState","useEffect"],"mappings":"uWAGaA,EAAcC,sBAAmB,8BAElBC,IACxB,OAASC,GAAYC,aAMrB,OAJAC,aAAU,IACCH,GAAM,IAAMC,EAAS,OAC7B,CAACD,IAEGA"}
package/dist/react.cjs CHANGED
@@ -10,7 +10,7 @@ const useStore = (store) => {
10
10
  const [, setState] = react.useState();
11
11
  react.useEffect(() => {
12
12
  return store(() => setState({}));
13
- }, []);
13
+ }, [store]);
14
14
  return store();
15
15
  };
16
16
 
package/dist/react.mjs CHANGED
@@ -6,7 +6,7 @@ const useStore = (store) => {
6
6
  const [, setState] = useState();
7
7
  useEffect(() => {
8
8
  return store(() => setState({}));
9
- }, []);
9
+ }, [store]);
10
10
  return store();
11
11
  };
12
12
 
package/dist/react.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./core")):"function"==typeof define&&define.amd?define(["exports","react","./core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).slimlibStoreReact={},e.react,e.slimlibStoreCore)}(this,(function(e,t,o){"use strict";const n=o.createStoreFactory(!1);e.createStore=n,e.useStore=e=>{const[,o]=t.useState();return t.useEffect((()=>e((()=>o({})))),[]),e()},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("./core")):"function"==typeof define&&define.amd?define(["exports","react","./core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).slimlibStoreReact={},e.react,e.slimlibStoreCore)}(this,(function(e,t,o){"use strict";const n=o.createStoreFactory(!1);e.createStore=n,e.useStore=e=>{const[,o]=t.useState();return t.useEffect((()=>e((()=>o({})))),[e]),e()},Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=react.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.umd.js","sources":["../src/react.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { createStoreFactory, Store } from './core';\n\nexport const createStore = createStoreFactory(false);\n\nexport const useStore = <T>(store: Store<T>) => {\n const [, setState] = useState<object>();\n \n useEffect(() => {\n return store(() => setState({}));\n }, []);\n \n return store();\n};\n"],"names":["createStore","createStoreFactory","store","setState","useState","useEffect"],"mappings":"kVAGaA,EAAcC,sBAAmB,8BAElBC,IACxB,OAASC,GAAYC,aAMrB,OAJAC,aAAU,IACCH,GAAM,IAAMC,EAAS,OAC7B,IAEID"}
1
+ {"version":3,"file":"react.umd.js","sources":["../src/react.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { createStoreFactory, Store } from './core';\n\nexport const createStore = createStoreFactory(false);\n\nexport const useStore = <T>(store: Store<T>) => {\n const [, setState] = useState<object>();\n \n useEffect(() => {\n return store(() => setState({}));\n }, [store]);\n \n return store();\n};\n"],"names":["createStore","createStoreFactory","store","setState","useState","useEffect"],"mappings":"kVAGaA,EAAcC,sBAAmB,8BAElBC,IACxB,OAASC,GAAYC,aAMrB,OAJAC,aAAU,IACCH,GAAM,IAAMC,EAAS,OAC7B,CAACD,IAEGA"}
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.0",
2
+ "version": "1.1.3",
3
3
  "license": "MIT",
4
4
  "name": "@slimlib/store",
5
5
  "author": "Konstantin Shutkin",
@@ -24,7 +24,8 @@
24
24
  "./svelte": {
25
25
  "require": "./dist/svelte.cjs",
26
26
  "default": "./dist/svelte.mjs"
27
- }
27
+ },
28
+ "./package.json": "./package.json"
28
29
  },
29
30
  "main": "./dist/index.cjs",
30
31
  "module": "./dist/index.mjs",
@@ -47,7 +48,7 @@
47
48
  "bugs": {
48
49
  "url": "https://github.com/kshutkin/slimlib/issues"
49
50
  },
50
- "homepage": "https://github.com/kshutkin/slimlib/store/README.md",
51
+ "homepage": "https://github.com/kshutkin/slimlib/blob/main/store/README.md",
51
52
  "scripts": {
52
53
  "build": "pkgbld --umd=index,preact,react,svelte",
53
54
  "test": "jest --collectCoverage",
@@ -79,7 +80,7 @@
79
80
  "conventional-changelog-angular": "5.0.13",
80
81
  "eslint": "8.8.0",
81
82
  "jest": "27.5.1",
82
- "pkgbld": "1.1.9",
83
+ "pkgbld": "1.2.0",
83
84
  "preact": ">=10.0.0",
84
85
  "react": ">=17.0.0",
85
86
  "react-dom": ">=17.0.0",