@multiplatform.one/store 6.1.0 → 6.3.0

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.
Files changed (51) hide show
  1. package/README.md +50 -0
  2. package/dist/cjs/createStore.cjs +39 -0
  3. package/dist/cjs/createStore.native.js +43 -0
  4. package/dist/cjs/createStore.native.js.map +1 -0
  5. package/dist/cjs/index.cjs +43 -0
  6. package/dist/cjs/index.native.js +48 -0
  7. package/dist/cjs/index.native.js.map +1 -0
  8. package/dist/cjs/persist.cjs +60 -0
  9. package/dist/cjs/persist.native.js +65 -0
  10. package/dist/cjs/persist.native.js.map +1 -0
  11. package/dist/cjs/storage/index.cjs +43 -0
  12. package/dist/cjs/storage/index.native.js +81 -0
  13. package/dist/cjs/storage/index.native.js.map +1 -0
  14. package/dist/cjs/storage/index.tauri.cjs +49 -0
  15. package/dist/cjs/storage/index.tauri.native.js +53 -0
  16. package/dist/cjs/storage/index.tauri.native.js.map +1 -0
  17. package/dist/esm/createStore.mjs +14 -0
  18. package/dist/esm/createStore.mjs.map +1 -0
  19. package/dist/esm/createStore.native.js +15 -0
  20. package/dist/esm/createStore.native.js.map +1 -0
  21. package/dist/esm/index.mjs +11 -0
  22. package/dist/esm/index.mjs.map +1 -0
  23. package/dist/esm/index.native.js +13 -0
  24. package/dist/esm/index.native.js.map +1 -0
  25. package/dist/esm/persist.mjs +35 -0
  26. package/dist/esm/persist.mjs.map +1 -0
  27. package/dist/esm/persist.native.js +37 -0
  28. package/dist/esm/persist.native.js.map +1 -0
  29. package/dist/esm/storage/index.mjs +18 -0
  30. package/dist/esm/storage/index.mjs.map +1 -0
  31. package/dist/esm/storage/index.native.js +53 -0
  32. package/dist/esm/storage/index.native.js.map +1 -0
  33. package/dist/esm/storage/index.tauri.mjs +24 -0
  34. package/dist/esm/storage/index.tauri.mjs.map +1 -0
  35. package/dist/esm/storage/index.tauri.native.js +25 -0
  36. package/dist/esm/storage/index.tauri.native.js.map +1 -0
  37. package/package.json +23 -10
  38. package/src/createStoreGating.spec.ts +113 -0
  39. package/src/storage/storage.spec.ts +79 -0
  40. package/types/createStore.d.ts +10 -0
  41. package/types/createStore.d.ts.map +1 -0
  42. package/types/index.d.ts +10 -0
  43. package/types/index.d.ts.map +1 -0
  44. package/types/persist.d.ts +18 -0
  45. package/types/persist.d.ts.map +1 -0
  46. package/types/storage/index.d.ts +3 -0
  47. package/types/storage/index.d.ts.map +1 -0
  48. package/types/storage/index.native.d.ts +3 -0
  49. package/types/storage/index.native.d.ts.map +1 -0
  50. package/types/storage/index.tauri.d.ts +3 -0
  51. package/types/storage/index.tauri.d.ts.map +1 -0
package/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # @multiplatform.one/store
2
+
3
+ [TanStack Store](https://tanstack.com/store) state management with
4
+ cross-platform persistent storage (localStorage on web, AsyncStorage-style on
5
+ native) for multiplatform.one.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ pnpm add @multiplatform.one/store
11
+ ```
12
+
13
+ ## What it owns
14
+
15
+ - **`createStore(initialState, options?)`** — a TanStack `Store`, or a
16
+ `PersistStore` when `persist: true` (state survives reloads, keyed by `name`)
17
+ - **`useStore(store, selector?)`** — React hook with optional selector
18
+ - **`createPersistStore`**, the platform `storage` adapter, and raw TanStack
19
+ re-exports (`Store`, `batch`, `createTanStackStore`, `useTanStackStore`)
20
+
21
+ ## What it must not do
22
+
23
+ - No server state — queries/mutations belong to TanStack Query (wired via
24
+ `@multiplatform.one/core`) or `@multiplatform.one/frappe` live collections
25
+ - No UI
26
+
27
+ ## Usage
28
+
29
+ ```tsx
30
+ import { createStore, useStore } from "@multiplatform.one/store";
31
+
32
+ const appStore = createStore({ theme: "light" }, { name: "app", persist: true });
33
+
34
+ export function ThemeToggle() {
35
+ const theme = useStore(appStore, (s) => s.theme);
36
+ const toggle = () =>
37
+ appStore.setState((prev) => ({
38
+ ...prev,
39
+ theme: prev.theme === "light" ? "dark" : "light",
40
+ }));
41
+ return <button onClick={toggle}>{theme}</button>;
42
+ }
43
+ ```
44
+
45
+ Persisted stores rehydrate from storage automatically on creation and expose
46
+ `rehydrate()` / `clearPersistedState()` for manual control.
47
+
48
+ ## License
49
+
50
+ Apache-2.0
@@ -0,0 +1,39 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var createStore_exports = {};
24
+ __export(createStore_exports, {
25
+ createStore: () => createStore
26
+ });
27
+ module.exports = __toCommonJS(createStore_exports);
28
+ var import_store = require("@tanstack/store");
29
+ var import_persist = require("./persist.cjs");
30
+ var import_storage = require("./storage/index.cjs");
31
+ function createStore(initialState, options) {
32
+ if (options?.persist) {
33
+ return (0, import_persist.createPersistStore)(initialState, {
34
+ key: options.name,
35
+ storage: options.storage ?? import_storage.storage
36
+ });
37
+ }
38
+ return new import_store.Store(initialState);
39
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var createStore_exports = {};
26
+ __export(createStore_exports, {
27
+ createStore: () => createStore
28
+ });
29
+ module.exports = __toCommonJS(createStore_exports);
30
+ var import_store = require("@tanstack/store");
31
+ var import_persist = require("./persist.native.js");
32
+ var import_storage = require("./storage/index.native.js");
33
+ function createStore(initialState, options) {
34
+ if (options === null || options === void 0 ? void 0 : options.persist) {
35
+ var _options_storage;
36
+ return (0, import_persist.createPersistStore)(initialState, {
37
+ key: options.name,
38
+ storage: (_options_storage = options.storage) !== null && _options_storage !== void 0 ? _options_storage : import_storage.storage
39
+ });
40
+ }
41
+ return new import_store.Store(initialState);
42
+ }
43
+ //# sourceMappingURL=createStore.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createStore_exports","__export","createStore","module","exports","import_store","require","import_persist","import_storage","initialState","options","persist","_options_storage","createPersistStore","key","name","storage"],"sources":["../../src/createStore.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAsB,CAAAK,mBAAA;AACtB,IAAAK,YAAA,GAAAC,OAAsD;AAEtD,IAAAC,cAAA,GAA0CD,OAAA;AAQnC,IAAAE,cAAS,GACdF,OAAA,4BACA;AAEA,SAAIJ,WAASA,CAAAO,YAAS,EAAAC,OAAA;EACpB,IAAAA,OAAA,KAAO,QAAAA,OAAA,mBAAsB,IAAAA,OAAA,CAAcC,OAAA;IAAA,IACzCC,gBAAa;IAAA,OACb,IAASL,cAAQ,CAAAM,kBAAW,EAAAJ,YAAA;MAC7BK,GAAA,EAAAJ,OAAA,CAAAK,IAAA;MACHC,OAAA,GAAAJ,gBAAA,GAAAF,OAAA,CAAAM,OAAA,cAAAJ,gBAAA,cAAAA,gBAAA,GAAAJ,cAAA,CAAAQ;IACA;EACF","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var index_exports = {};
24
+ __export(index_exports, {
25
+ Store: () => import_store.Store,
26
+ batch: () => import_store.batch,
27
+ createPersistStore: () => import_persist.createPersistStore,
28
+ createStore: () => import_createStore.createStore,
29
+ createTanStackStore: () => import_store.createStore,
30
+ storage: () => import_storage.storage,
31
+ useStore: () => useStore2,
32
+ useTanStackStore: () => import_react_store.useStore
33
+ });
34
+ module.exports = __toCommonJS(index_exports);
35
+ var import_createStore = require("./createStore.cjs");
36
+ var import_storage = require("./storage/index.cjs");
37
+ var import_persist = require("./persist.cjs");
38
+ var import_store = require("@tanstack/store");
39
+ var import_react_store = require("@tanstack/react-store");
40
+ var import_react_store2 = require("@tanstack/react-store");
41
+ function useStore2(store, selector) {
42
+ return (0, import_react_store2.useStore)(store, selector ?? (s => s));
43
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var index_exports = {};
26
+ __export(index_exports, {
27
+ Store: () => import_store.Store,
28
+ batch: () => import_store.batch,
29
+ createPersistStore: () => import_persist.createPersistStore,
30
+ createStore: () => import_createStore.createStore,
31
+ createTanStackStore: () => import_store.createStore,
32
+ storage: () => import_storage.storage,
33
+ useStore: () => useStore2,
34
+ useTanStackStore: () => import_react_store.useStore
35
+ });
36
+ module.exports = __toCommonJS(index_exports);
37
+ var import_createStore = require("./createStore.native.js");
38
+ var import_storage = require("./storage/index.native.js");
39
+ var import_persist = require("./persist.native.js");
40
+ var import_store = require("@tanstack/store");
41
+ var import_react_store = require("@tanstack/react-store");
42
+ var import_react_store2 = require("@tanstack/react-store");
43
+ function useStore2(store, selector) {
44
+ return (0, import_react_store2.useStore)(store, selector !== null && selector !== void 0 ? selector : function (s) {
45
+ return s;
46
+ });
47
+ }
48
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","Store","import_store","batch","createPersistStore","import_persist","createStore","import_createStore","createTanStackStore","storage","import_storage","useStore","useStore2","useTanStackStore","import_react_store","module","exports","require","import_react_store2","store","selector","s"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,KAAA,EAAAA,CAAA,KAAAC,YAAA,CAAAD,KAAA;EAAAE,KAAA,EAAAA,CAAA,KAAAD,YAAA,CAAAC,KAAA;EAAAC,kBAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,kBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAC,kBAAA,CAAAD,WAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAN,YAAA,CAAAI,WAAA;EAAAG,OAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,OAAA;EAAAE,QAAA,EAAAA,CAAA,KAAAC,SAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAC,kBAAA,CAAAH;AAAA;AAAAI,MAAA,CAAAC,OAAA,GAAAtB,YAA4B,CAAAK,aAAA;AAE5B,IAAAQ,kBAAwB,GAAAU,OAAA;AAExB,IAAAP,cAAA,GAAmCO,OAAA;AAGnC,IAAAZ,cAAA,GAAiEY,OAAA;AACjE,IAAAf,YAAA,GAAAe,OAA6C;AAE7C,IAAAH,kBAAA,GAAAG,OAA6C;AAItC,IAAAC,mBACL,GACAD,OAAA,wBACW;AACX,SAAAL,SAAOA,CAAAO,KAAA,EAAAC,QAAA;EACT,WAAAF,mBAAA,CAAAP,QAAA,EAAAQ,KAAA,EAAAC,QAAA,aAAAA,QAAA,cAAAA,QAAA,aAAAC,CAAA","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var persist_exports = {};
24
+ __export(persist_exports, {
25
+ createPersistStore: () => createPersistStore
26
+ });
27
+ module.exports = __toCommonJS(persist_exports);
28
+ var import_store = require("@tanstack/store");
29
+ function createPersistStore(initialState, persistOptions) {
30
+ const {
31
+ key,
32
+ storage,
33
+ serialize = JSON.stringify,
34
+ deserialize = JSON.parse
35
+ } = persistOptions;
36
+ let hydrated = false;
37
+ const store = new import_store.Store(initialState);
38
+ store.subscribe(() => {
39
+ if (hydrated) {
40
+ const serialized = serialize(store.state);
41
+ void Promise.resolve(storage.setItem(key, serialized));
42
+ }
43
+ });
44
+ const rehydrate = async () => {
45
+ const raw = await Promise.resolve(storage.getItem(key));
46
+ if (raw !== null) {
47
+ const deserialized = deserialize(raw);
48
+ store.setState(() => deserialized);
49
+ }
50
+ hydrated = true;
51
+ };
52
+ const clearPersistedState = async () => {
53
+ await Promise.resolve(storage.removeItem(key));
54
+ };
55
+ void rehydrate();
56
+ const persistStore = store;
57
+ persistStore.rehydrate = rehydrate;
58
+ persistStore.clearPersistedState = clearPersistedState;
59
+ return persistStore;
60
+ }
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var persist_exports = {};
26
+ __export(persist_exports, {
27
+ createPersistStore: () => createPersistStore
28
+ });
29
+ module.exports = __toCommonJS(persist_exports);
30
+ var import_store = require("@tanstack/store");
31
+ function createPersistStore(initialState, persistOptions) {
32
+ var {
33
+ key,
34
+ storage,
35
+ serialize = JSON.stringify,
36
+ deserialize = JSON.parse
37
+ } = persistOptions;
38
+ var hydrated = false;
39
+ var store = new import_store.Store(initialState);
40
+ store.subscribe(function () {
41
+ if (hydrated) {
42
+ var serialized = serialize(store.state);
43
+ void Promise.resolve(storage.setItem(key, serialized));
44
+ }
45
+ });
46
+ var rehydrate = async function rehydrate2() {
47
+ var raw = await Promise.resolve(storage.getItem(key));
48
+ if (raw !== null) {
49
+ var deserialized = deserialize(raw);
50
+ store.setState(function () {
51
+ return deserialized;
52
+ });
53
+ }
54
+ hydrated = true;
55
+ };
56
+ var clearPersistedState = async function clearPersistedState2() {
57
+ await Promise.resolve(storage.removeItem(key));
58
+ };
59
+ void rehydrate();
60
+ var persistStore = store;
61
+ persistStore.rehydrate = rehydrate;
62
+ persistStore.clearPersistedState = clearPersistedState;
63
+ return persistStore;
64
+ }
65
+ //# sourceMappingURL=persist.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","persist_exports","__export","createPersistStore","module","exports","import_store","require","initialState","persistOptions","key","storage","serialize","JSON","stringify","deserialize","parse","hydrated","store","Store","subscribe","serialized","state","Promise","resolve","setItem","rehydrate","rehydrate2","raw","getItem","deserialized","setState","clearPersistedState","clearPersistedState2","removeItem","persistStore"],"sources":["../../src/persist.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,eAAA;AAAAC,QAAA,CAAAD,eAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAsB,CAAAK,eAAA;AAoBf,IAAAK,YAAS,GAAAC,OAAA,kBAEd;AAEA,SAAMJ,kBAAgBA,CAAAK,YAAY,EAAKC,cAAW;EAElD,IAAI;IAAAC,GAAA;IAAAC,OAAW;IAAAC,SAAA,GAAAC,IAAA,CAAAC,SAAA;IAAAC,WAAA,GAAAF,IAAA,CAAAG;EAAA,IAAAP,cAAA;EAEf,IAAAQ,QAAM,GAAQ,KAAI;EAGlB,IAAAC,KAAM,OAAUZ,YAAM,CAAAa,KAAA,CAAAX,YAAA;EACpBU,KAAA,CAAIE,SAAA,CAAU;IACZ,IAAAH,QAAM;MACN,IAAAI,UAAa,GAAAT,SAAQ,CAAAM,KAAQ,CAAAI,KAAQ;MACvC,KAAAC,OAAA,CAAAC,OAAA,CAAAb,OAAA,CAAAc,OAAA,CAAAf,GAAA,EAAAW,UAAA;IACD;EAED;EACE,IAAAK,SAAM,GAAM,eAAcC,UAAQA,CAAA,EAAQ;IAC1C,IAAIC,GAAA,SAAQL,OAAM,CAAAC,OAAA,CAAAb,OAAA,CAAAkB,OAAA,CAAAnB,GAAA;IAChB,IAAAkB,GAAA,KAAM;MACN,IAAAE,YAAe,GAAAf,WAAM,CAAAa,GAAY;MACnCV,KAAA,CAAAa,QAAA;QACA,OAAWD,YAAA;MACb;IAEA;IACEb,QAAM,OAAQ;EAChB;EAGA,IAAAe,mBAAe,kBAAAC,qBAAA;IAEf,MAAMV,OAAA,CAAAC,OAAe,CAAAb,OAAA,CAAAuB,UAAA,CAAAxB,GAAA;EACrB;EACA,KAAAgB,SAAa;EAEb,IAAAS,YAAO,GAAAjB,KAAA;EACTiB,YAAA,CAAAT,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var storage_exports = {};
24
+ __export(storage_exports, {
25
+ storage: () => storage
26
+ });
27
+ module.exports = __toCommonJS(storage_exports);
28
+ const noopStorage = {
29
+ getItem: () => null,
30
+ setItem: () => {},
31
+ removeItem: () => {}
32
+ };
33
+ function getStorage() {
34
+ if (typeof globalThis !== "undefined" && "localStorage" in globalThis && typeof globalThis.localStorage?.getItem === "function") {
35
+ return {
36
+ getItem: name => globalThis.localStorage.getItem(name) ?? null,
37
+ setItem: (name, value) => globalThis.localStorage.setItem(name, value),
38
+ removeItem: name => globalThis.localStorage.removeItem(name)
39
+ };
40
+ }
41
+ return noopStorage;
42
+ }
43
+ const storage = getStorage();
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var index_native_exports = {};
26
+ __export(index_native_exports, {
27
+ storage: () => storage
28
+ });
29
+ module.exports = __toCommonJS(index_native_exports);
30
+ function createStorage() {
31
+ try {
32
+ var {
33
+ MMKV
34
+ } = require("react-native-mmkv");
35
+ var mmkv = new MMKV();
36
+ return {
37
+ getItem: function getItem(name) {
38
+ var _mmkv_getString;
39
+ return (_mmkv_getString = mmkv.getString(name)) !== null && _mmkv_getString !== void 0 ? _mmkv_getString : null;
40
+ },
41
+ setItem: function setItem(name, value) {
42
+ return mmkv.set(name, value);
43
+ },
44
+ removeItem: function removeItem(name) {
45
+ return mmkv.delete(name);
46
+ }
47
+ };
48
+ } catch (unused) {
49
+ try {
50
+ var AsyncStorage = require("@react-native-async-storage/async-storage").default;
51
+ if (AsyncStorage && typeof AsyncStorage.getItem === "function") {
52
+ return {
53
+ getItem: function getItem(name) {
54
+ return AsyncStorage.getItem(name);
55
+ },
56
+ setItem: function setItem(name, value) {
57
+ return AsyncStorage.setItem(name, value);
58
+ },
59
+ removeItem: function removeItem(name) {
60
+ return AsyncStorage.removeItem(name);
61
+ }
62
+ };
63
+ }
64
+ } catch (unused2) {}
65
+ var map = /* @__PURE__ */new Map();
66
+ return {
67
+ getItem: function getItem(name) {
68
+ var _map_get;
69
+ return (_map_get = map.get(name)) !== null && _map_get !== void 0 ? _map_get : null;
70
+ },
71
+ setItem: function setItem(name, value) {
72
+ map.set(name, value);
73
+ },
74
+ removeItem: function removeItem(name) {
75
+ map.delete(name);
76
+ }
77
+ };
78
+ }
79
+ }
80
+ var storage = createStorage();
81
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["index_native_exports","__export","storage","module","exports","__toCommonJS","createStorage","MMKV","require","mmkv","getItem","name","_mmkv_getString","getString","setItem","value","set","removeItem","delete","unused","AsyncStorage","default","unused2","map","Map","_map_get","get"],"sources":["../../../src/storage/index.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,OAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,oBAAA;AAAA,SAASM,cAAA,EAAgB;EACrB,IAAI;IACA,IAAI;MAAEC;IAAK,IAAIC,OAAA,CAAQ,mBAAmB;IAC1C,IAAIC,IAAA,GAAO,IAAIF,IAAA,CAAK;IACpB,OAAO;MACHG,OAAA,EAAS,SAASA,QAAQC,IAAA,EAAM;QAC5B,IAAIC,eAAA;QACJ,QAAQA,eAAA,GAAkBH,IAAA,CAAKI,SAAA,CAAUF,IAAI,OAAO,QAAQC,eAAA,KAAoB,SAASA,eAAA,GAAkB;MAC/G;MACAE,OAAA,EAAS,SAASA,QAAQH,IAAA,EAAMI,KAAA,EAAO;QACnC,OAAON,IAAA,CAAKO,GAAA,CAAIL,IAAA,EAAMI,KAAK;MAC/B;MACAE,UAAA,EAAY,SAASA,WAAWN,IAAA,EAAM;QAClC,OAAOF,IAAA,CAAKS,MAAA,CAAOP,IAAI;MAC3B;IACJ;EACJ,SAASQ,MAAA,EAAQ;IACb,IAAI;MAEA,IAAIC,YAAA,GAAeZ,OAAA,CAAQ,2CAA2C,EAAEa,OAAA;MAExE,IAAID,YAAA,IAAgB,OAAOA,YAAA,CAAaV,OAAA,KAAY,YAAY;QAC5D,OAAO;UACHA,OAAA,EAAS,SAASA,QAAQC,IAAA,EAAM;YAC5B,OAAOS,YAAA,CAAaV,OAAA,CAAQC,IAAI;UACpC;UACAG,OAAA,EAAS,SAASA,QAAQH,IAAA,EAAMI,KAAA,EAAO;YACnC,OAAOK,YAAA,CAAaN,OAAA,CAAQH,IAAA,EAAMI,KAAK;UAC3C;UACAE,UAAA,EAAY,SAASA,WAAWN,IAAA,EAAM;YAClC,OAAOS,YAAA,CAAaH,UAAA,CAAWN,IAAI;UACvC;QACJ;MACJ;IACJ,SAASW,OAAA,EAAQ,CAAC;IAElB,IAAIC,GAAA,GAAM,mBAAIC,GAAA,CAAI;IAClB,OAAO;MACHd,OAAA,EAAS,SAASA,QAAQC,IAAA,EAAM;QAC5B,IAAIc,QAAA;QACJ,QAAQA,QAAA,GAAWF,GAAA,CAAIG,GAAA,CAAIf,IAAI,OAAO,QAAQc,QAAA,KAAa,SAASA,QAAA,GAAW;MACnF;MACAX,OAAA,EAAS,SAASA,QAAQH,IAAA,EAAMI,KAAA,EAAO;QACnCQ,GAAA,CAAIP,GAAA,CAAIL,IAAA,EAAMI,KAAK;MACvB;MACAE,UAAA,EAAY,SAASA,WAAWN,IAAA,EAAM;QAClCY,GAAA,CAAIL,MAAA,CAAOP,IAAI;MACnB;IACJ;EACJ;AACJ;AACO,IAAIT,OAAA,GAAUI,aAAA,CAAc","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var index_tauri_exports = {};
24
+ __export(index_tauri_exports, {
25
+ storage: () => storage
26
+ });
27
+ module.exports = __toCommonJS(index_tauri_exports);
28
+ var import_plugin_store = require("@tauri-apps/plugin-store");
29
+ let storePromise = null;
30
+ function getStore() {
31
+ if (!storePromise) storePromise = import_plugin_store.Store.load("store.json");
32
+ return storePromise;
33
+ }
34
+ const storage = {
35
+ getItem: async name => {
36
+ const s = await getStore();
37
+ return (await s.get(name)) ?? null;
38
+ },
39
+ setItem: async (name, value) => {
40
+ const s = await getStore();
41
+ await s.set(name, value);
42
+ await s.save();
43
+ },
44
+ removeItem: async name => {
45
+ const s = await getStore();
46
+ await s.delete(name);
47
+ await s.save();
48
+ }
49
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var index_tauri_exports = {};
26
+ __export(index_tauri_exports, {
27
+ storage: () => storage
28
+ });
29
+ module.exports = __toCommonJS(index_tauri_exports);
30
+ var import_plugin_store = require("@tauri-apps/plugin-store");
31
+ var storePromise = null;
32
+ function getStore() {
33
+ if (!storePromise) storePromise = import_plugin_store.Store.load("store.json");
34
+ return storePromise;
35
+ }
36
+ var storage = {
37
+ getItem: async function getItem(name) {
38
+ var _ref;
39
+ var s = await getStore();
40
+ return (_ref = await s.get(name)) !== null && _ref !== void 0 ? _ref : null;
41
+ },
42
+ setItem: async function setItem(name, value) {
43
+ var s = await getStore();
44
+ await s.set(name, value);
45
+ await s.save();
46
+ },
47
+ removeItem: async function removeItem(name) {
48
+ var s = await getStore();
49
+ await s.delete(name);
50
+ await s.save();
51
+ }
52
+ };
53
+ //# sourceMappingURL=index.tauri.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_tauri_exports","__export","storage","module","exports","import_plugin_store","require","storePromise","getStore","Store","load","getItem","name","_ref","s","get","setItem","set","save","removeItem","delete"],"sources":["../../../src/storage/index.tauri.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,OAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAsB,CAAAK,mBAAA;AAGtB,IAAIK,mBAAsC,GAAAC,OAAA;AAE1C,IAAAC,YAAS,OAA2B;AAClC,SAAKC,SAAA,EAAc;EACnB,KAAAD,YAAO,EAAAA,YAAA,GAAAF,mBAAA,CAAAI,KAAA,CAAAC,IAAA;EACT,OAAAH,YAAA;AAEO;AAAyB,IAC9BL,OAAS;EACPS,OAAA,EAAM,eAAUA,OAASA,CAAAC,IAAA;IACzB,IAAAC,IAAQ;IACV,IAAAC,CAAA,SAAAN,QAAA;IACA,OAAS,CAAAK,IAAA,GAAO,MAAcC,CAAA,CAAAC,GAAA,CAAAH,IAAkB,eAAAC,IAAA,cAAAA,IAAA;EAC9C;EACAG,OAAA,EAAM,eAAYA,OAAKA,CAAAJ,IAAA,EAAAb,KAAA;IACvB,IAAAe,CAAA,GAAQ,MAAKN,QAAA;IACf,MAAAM,CAAA,CAAAG,GAAA,CAAAL,IAAA,EAAAb,KAAA;IACA,MAAAe,CAAA,CAAAI,IAAY;EACV;EACAC,UAAQ,iBAAWA,WAAAP,IAAA;IACnB,IAAAE,CAAA,GAAQ,MAAKN,QAAA;IACf,MAAAM,CAAA,CAAAM,MAAA,CAAAR,IAAA;IACF,MAAAE,CAAA,CAAAI,IAAA","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { Store } from "@tanstack/store";
2
+ import { createPersistStore } from "./persist.mjs";
3
+ import { storage as defaultStorage } from "./storage/index.mjs";
4
+ function createStore(initialState, options) {
5
+ if (options?.persist) {
6
+ return createPersistStore(initialState, {
7
+ key: options.name,
8
+ storage: options.storage ?? defaultStorage
9
+ });
10
+ }
11
+ return new Store(initialState);
12
+ }
13
+ export { createStore };
14
+ //# sourceMappingURL=createStore.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Store","createPersistStore","storage","defaultStorage","createStore","initialState","options","persist","key","name"],"sources":["../../src/createStore.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AACtB,SAA4BC,kBAAA,QAA0B;AAEtD,SAASC,OAAA,IAAWC,cAAA,QAAsB;AAQnC,SAASC,YACdC,YAAA,EACAC,OAAA,EAC4B;EAC5B,IAAIA,OAAA,EAASC,OAAA,EAAS;IACpB,OAAON,kBAAA,CAAsBI,YAAA,EAAc;MACzCG,GAAA,EAAKF,OAAA,CAAQG,IAAA;MACbP,OAAA,EAASI,OAAA,CAAQJ,OAAA,IAAWC;IAC9B,CAAC;EACH;EACA,OAAO,IAAIH,KAAA,CAASK,YAAY;AAClC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import { Store } from "@tanstack/store";
2
+ import { createPersistStore } from "./persist.native.js";
3
+ import { storage as defaultStorage } from "./storage/index.native.js";
4
+ function createStore(initialState, options) {
5
+ if (options === null || options === void 0 ? void 0 : options.persist) {
6
+ var _options_storage;
7
+ return createPersistStore(initialState, {
8
+ key: options.name,
9
+ storage: (_options_storage = options.storage) !== null && _options_storage !== void 0 ? _options_storage : defaultStorage
10
+ });
11
+ }
12
+ return new Store(initialState);
13
+ }
14
+ export { createStore };
15
+ //# sourceMappingURL=createStore.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Store","createPersistStore","storage","defaultStorage","createStore","initialState","options","persist","_options_storage","key","name"],"sources":["../../src/createStore.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAA,QAAa;AACtB,SAA4BC,kBAAA,QAA0B;AAEtD,SAASC,OAAA,IAAWC,cAAA,QAAsB;AAQnC,SAASC,YACdC,YAAA,EACAC,OAAA,EAC4B;EAC5B,IAAIA,OAAA,KAAS,QAASA,OAAA,uBAAAA,OAAA,CAAAC,OAAA;IACpB,IAAAC,gBAAO;IAAoC,OACpCP,kBAAQ,CAAAI,YAAA;MACbI,GAAA,EAAAH,OAAS,CAAAI,IAAQ;MAClBR,OAAA,GAAAM,gBAAA,GAAAF,OAAA,CAAAJ,OAAA,cAAAM,gBAAA,cAAAA,gBAAA,GAAAL;IACH;EACA;EACF,WAAAH,KAAA,CAAAK,YAAA","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { createStore } from "./createStore.mjs";
2
+ import { storage } from "./storage/index.mjs";
3
+ import { createPersistStore } from "./persist.mjs";
4
+ import { Store, batch, createStore as createStore2 } from "@tanstack/store";
5
+ import { useStore } from "@tanstack/react-store";
6
+ import { useStore as tanstackUseStore } from "@tanstack/react-store";
7
+ function useStore2(store, selector) {
8
+ return tanstackUseStore(store, selector ?? (s => s));
9
+ }
10
+ export { Store, batch, createPersistStore, createStore, createStore2 as createTanStackStore, storage, useStore2 as useStore, useStore as useTanStackStore };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createStore","storage","createPersistStore","Store","batch","createStore2","useStore","tanstackUseStore","useStore2","store","selector","s"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAA,QAAmB;AAE5B,SAASC,OAAA,QAAe;AAExB,SAASC,kBAAA,QAA0B;AAGnC,SAASC,KAAA,EAAOC,KAAA,EAAsBJ,WAAA,IAAfK,YAAA,QAA0C;AACjE,SAAqBC,QAAA,QAAwB;AAE7C,SAASA,QAAA,IAAYC,gBAAA,QAAwB;AAItC,SAASC,UACdC,KAAA,EACAC,QAAA,EACW;EACX,OAAOH,gBAAA,CAAiBE,KAAA,EAAmBC,QAAA,KAAcC,CAAA,IAAMA,CAAA,CAA0B;AAC3F","ignoreList":[]}