@slimlib/store 1.2.0 → 1.3.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 +4 -4
- package/core/package.json +3 -1
- package/dist/core.cjs +2 -3
- package/dist/core.d.ts +1 -1
- package/dist/core.mjs +2 -1
- package/dist/index.cjs +0 -2
- package/dist/index.umd.js +1 -1
- package/dist/preact.cjs +0 -2
- package/dist/preact.d.ts +1 -1
- package/dist/preact.umd.js +1 -1
- package/dist/preact.umd.js.map +1 -1
- package/dist/react.cjs +0 -2
- package/dist/react.d.ts +1 -1
- package/dist/react.umd.js +1 -1
- package/dist/react.umd.js.map +1 -1
- package/dist/svelte.cjs +0 -2
- package/dist/svelte.d.ts +1 -1
- package/dist/svelte.umd.js +1 -1
- package/dist/svelte.umd.js.map +1 -1
- package/package.json +2 -5
- package/preact/package.json +3 -1
- package/react/package.json +3 -1
- package/svelte/package.json +3 -1
package/README.md
CHANGED
|
@@ -95,9 +95,9 @@ $storeName
|
|
|
95
95
|
|
|
96
96
|
The only exported function. It returns createStore factory (see next) which notifies innidiately after creating store if `notifyAfterCreation` is truethy.
|
|
97
97
|
|
|
98
|
-
#### `createStore<T>(initialState: T): [T, Store<T
|
|
98
|
+
#### `createStore<T>(initialState: T): [T, Store<T>, () => void]`
|
|
99
99
|
|
|
100
|
-
Store factory function that takes initial state and returns proxy object and
|
|
100
|
+
Store factory function that takes initial state and returns proxy object, store and function to notify subscribers. Proxy object ment to be left for actions implementations, store is for subscription for changes and notification only for some edge cases when original object have been changed and listeners have to be notified.
|
|
101
101
|
|
|
102
102
|
#### `unwrapValue(value: T): T`
|
|
103
103
|
|
|
@@ -118,7 +118,7 @@ Publish/subscribe/read pattern implementation. Ment to be used in components / s
|
|
|
118
118
|
|
|
119
119
|
### `react` and `preact` exports
|
|
120
120
|
|
|
121
|
-
#### `createStore<T>(initialState: T): [T, Store<T
|
|
121
|
+
#### `createStore<T>(initialState: T): [T, Store<T>, () => void]`
|
|
122
122
|
|
|
123
123
|
Store factory created with `notifyAfterCreation` === `false`.
|
|
124
124
|
|
|
@@ -128,7 +128,7 @@ Function to subscribe to store inside component. Returns current state.
|
|
|
128
128
|
|
|
129
129
|
### `svelte` export
|
|
130
130
|
|
|
131
|
-
#### `createStore<T>(initialState: T): [T, Store<T
|
|
131
|
+
#### `createStore<T>(initialState: T): [T, Store<T>, () => void]`
|
|
132
132
|
|
|
133
133
|
Store factory created with `notifyAfterCreation` === `true`.
|
|
134
134
|
|
package/core/package.json
CHANGED
package/dist/core.cjs
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
const unwrap = Symbol();
|
|
6
4
|
const unwrapValue = (value) => (value != null && value[unwrap]) || value;
|
|
7
5
|
const createStoreFactory = (notifyAfterCreation) => {
|
|
@@ -61,7 +59,8 @@ const createStoreFactory = (notifyAfterCreation) => {
|
|
|
61
59
|
cb(object);
|
|
62
60
|
}
|
|
63
61
|
return () => storeListeners.delete(cb);
|
|
64
|
-
})
|
|
62
|
+
}),
|
|
63
|
+
enqueueNotification
|
|
65
64
|
];
|
|
66
65
|
function createProxy(object) {
|
|
67
66
|
if (proxiesCache.has(object)) {
|
package/dist/core.d.ts
CHANGED
|
@@ -5,4 +5,4 @@ export interface Store<T> {
|
|
|
5
5
|
(): Readonly<T>;
|
|
6
6
|
}
|
|
7
7
|
export declare const unwrapValue: <T>(value: T) => T;
|
|
8
|
-
export declare const createStoreFactory: (notifyAfterCreation: boolean) => <T extends object>(object?: T) => [T, Store<T
|
|
8
|
+
export declare const createStoreFactory: (notifyAfterCreation: boolean) => <T extends object>(object?: T) => [T, Store<T>, () => void];
|
package/dist/core.mjs
CHANGED
package/dist/index.cjs
CHANGED
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("./core")):"function"==typeof define&&define.amd?define(["exports","./core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).slimlibStore={},e.slimlibStoreCore)}(this,(function(e,t){"use strict";Object.keys(t).forEach((function(n){"default"===n||e.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[n]}})}))
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("./core")):"function"==typeof define&&define.amd?define(["exports","./core"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).slimlibStore={},e.slimlibStoreCore)}(this,(function(e,t){"use strict";Object.keys(t).forEach((function(n){"default"===n||e.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[n]}})}))}));
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
package/dist/preact.cjs
CHANGED
package/dist/preact.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Store } from './core';
|
|
2
|
-
export declare const createStore: <T extends object>(object?: T) => [T, Store<T
|
|
2
|
+
export declare const createStore: <T extends object>(object?: T) => [T, Store<T>, () => void];
|
|
3
3
|
export declare const useStore: <T>(store: Store<T>) => Readonly<T>;
|
package/dist/preact.umd.js
CHANGED
|
@@ -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]),e()}
|
|
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()}}));
|
|
2
2
|
//# sourceMappingURL=preact.umd.js.map
|
package/dist/preact.umd.js.map
CHANGED
|
@@ -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 }, [store]);\n \n return store();\n};\n"],"names":["createStore","createStoreFactory","store","setState","useState","useEffect"],"mappings":"uWAGaA,EAAcC,
|
|
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,EAAkBA,oBAAC,8BAElBC,IACxB,MAAS,CAAAC,GAAYC,EAAAA,WAMrB,OAJAC,EAAAA,WAAU,IACCH,GAAM,IAAMC,EAAS,OAC7B,CAACD,IAEGA"}
|
package/dist/react.cjs
CHANGED
package/dist/react.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Store } from './core';
|
|
2
|
-
export declare const createStore: <T extends object>(object?: T) => [T, Store<T
|
|
2
|
+
export declare const createStore: <T extends object>(object?: T) => [T, Store<T>, () => void];
|
|
3
3
|
export declare const useStore: <T>(store: Store<T>) => Readonly<T>;
|
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]),e()}
|
|
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()}}));
|
|
2
2
|
//# sourceMappingURL=react.umd.js.map
|
package/dist/react.umd.js.map
CHANGED
|
@@ -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 }, [store]);\n \n return store();\n};\n"],"names":["createStore","createStoreFactory","store","setState","useState","useEffect"],"mappings":"kVAGaA,EAAcC,
|
|
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,EAAkBA,oBAAC,8BAElBC,IACxB,MAAS,CAAAC,GAAYC,EAAAA,WAMrB,OAJAC,EAAAA,WAAU,IACCH,GAAM,IAAMC,EAAS,OAC7B,CAACD,IAEGA"}
|
package/dist/svelte.cjs
CHANGED
package/dist/svelte.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const createStore: <T extends object>(object?: T) => [T, import("./core").Store<T
|
|
1
|
+
export declare const createStore: <T extends object>(object?: T) => [T, import("./core").Store<T>, () => void];
|
package/dist/svelte.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("./core")):"function"==typeof define&&define.amd?define(["exports","./core"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).slimlibStoreSvelte={},e.slimlibStoreCore)}(this,(function(e,o){"use strict";const t=o.createStoreFactory(!0);e.createStore=t
|
|
1
|
+
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("./core")):"function"==typeof define&&define.amd?define(["exports","./core"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).slimlibStoreSvelte={},e.slimlibStoreCore)}(this,(function(e,o){"use strict";const t=o.createStoreFactory(!0);e.createStore=t}));
|
|
2
2
|
//# sourceMappingURL=svelte.umd.js.map
|
package/dist/svelte.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svelte.umd.js","sources":["../src/svelte.ts"],"sourcesContent":["import { createStoreFactory } from './core';\n\nexport const createStore = createStoreFactory(true);\n"],"names":["createStore","createStoreFactory"],"mappings":"gTAEaA,EAAcC,
|
|
1
|
+
{"version":3,"file":"svelte.umd.js","sources":["../src/svelte.ts"],"sourcesContent":["import { createStoreFactory } from './core';\n\nexport const createStore = createStoreFactory(true);\n"],"names":["createStore","createStoreFactory"],"mappings":"gTAEaA,EAAcC,EAAkBA,oBAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
2
|
+
"version": "1.3.1",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "@slimlib/store",
|
|
5
5
|
"author": "Konstantin Shutkin",
|
|
@@ -38,9 +38,6 @@
|
|
|
38
38
|
"core",
|
|
39
39
|
"svelte"
|
|
40
40
|
],
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": ">=15"
|
|
43
|
-
},
|
|
44
41
|
"repository": {
|
|
45
42
|
"type": "git",
|
|
46
43
|
"url": "git+https://github.com/kshutkin/slimlib.git"
|
|
@@ -80,7 +77,7 @@
|
|
|
80
77
|
"conventional-changelog-angular": "5.0.13",
|
|
81
78
|
"eslint": "8.8.0",
|
|
82
79
|
"jest": "27.5.1",
|
|
83
|
-
"pkgbld": "1.
|
|
80
|
+
"pkgbld": "1.7.1",
|
|
84
81
|
"preact": ">=10.0.0",
|
|
85
82
|
"react": ">=17.0.0",
|
|
86
83
|
"react-dom": ">=17.0.0",
|
package/preact/package.json
CHANGED
package/react/package.json
CHANGED
package/svelte/package.json
CHANGED