even-toolkit 1.5.8 → 1.6.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.
@@ -55,6 +55,8 @@ export declare class EvenHubBridge {
55
55
  imuEnable(): Promise<void>;
56
56
  imuDisable(): Promise<void>;
57
57
  onEvent(handler: (event: EvenHubEvent) => void): void;
58
+ setLocalStorage(key: string, value: string): Promise<boolean>;
59
+ getLocalStorage(key: string): Promise<string>;
58
60
  dispose(): void;
59
61
  }
60
62
  //# sourceMappingURL=bridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../glasses/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../glasses/bridge.ts"],"names":[],"mappings":"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"}
@@ -272,6 +272,27 @@ export class EvenHubBridge {
272
272
  onEvent(handler) {
273
273
  this.sdk.addEventListener(handler);
274
274
  }
275
+ // ── Persistent storage (survives WebView restarts) ──
276
+ async setLocalStorage(key, value) {
277
+ if (!this.rawBridge)
278
+ return false;
279
+ try {
280
+ return await this.rawBridge.setLocalStorage(key, value);
281
+ }
282
+ catch {
283
+ return false;
284
+ }
285
+ }
286
+ async getLocalStorage(key) {
287
+ if (!this.rawBridge)
288
+ return '';
289
+ try {
290
+ return await this.rawBridge.getLocalStorage(key);
291
+ }
292
+ catch {
293
+ return '';
294
+ }
295
+ }
275
296
  dispose() {
276
297
  this.rawBridge = null;
277
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../glasses/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../glasses/bridge.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,18 @@
1
1
  /**
2
2
  * Persistent storage for Even Hub apps.
3
3
  *
4
- * The Even Hub WebView doesn't persist browser localStorage across app restarts.
5
- * This module uses the SDK's `bridge.setLocalStorage/getLocalStorage` which DO persist,
6
- * with browser localStorage as a sync-read cache and fallback for web/dev.
7
- *
8
- * Usage:
9
- * import { storageSet, storageGetSync, hydrateFromSDK } from 'even-toolkit/storage';
10
- *
11
- * // In main.tsx — hydrate before render:
12
- * hydrateFromSDK(['my-app:settings', 'my-app:data']).finally(() => {
13
- * createRoot(...).render(<App />);
14
- * });
15
- *
16
- * // Read (synchronous):
17
- * const data = storageGetSync<MyData>('my-app:data', defaultValue);
18
- *
19
- * // Write (dual-write to localStorage + SDK bridge):
20
- * storageSet('my-app:data', data);
21
- */
22
- /**
23
- * Read a JSON value synchronously from browser localStorage.
24
- * Call `hydrateFromSDK()` at startup to ensure localStorage has the latest SDK data.
25
- */
26
- export declare function storageGetSync<T>(key: string, fallback: T): T;
27
- /**
28
- * Write a JSON-serializable value to both localStorage and SDK bridge.
29
- */
30
- export declare function storageSet(key: string, value: unknown): void;
31
- /**
32
- * Write a raw string value to both localStorage and SDK bridge.
33
- * Use for pre-serialized or encrypted values that shouldn't be double-stringified.
34
- */
35
- export declare function storageSetRaw(key: string, value: string): void;
36
- /**
37
- * Remove a key from both localStorage and SDK bridge.
38
- */
39
- export declare function storageRemove(key: string): void;
40
- /**
41
- * Hydrate browser localStorage from SDK bridge on app startup.
42
- * Call once before React renders so `storageGetSync` reads fresh data.
43
- *
44
- * @param keys - All storage keys used by the app
4
+ * Uses the SDK bridge's setLocalStorage/getLocalStorage directly.
5
+ * No browser localStorage, no caching — the SDK bridge is the single source of truth.
6
+ * Falls back silently when SDK is not available (web/dev).
45
7
  */
46
- export declare function hydrateFromSDK(keys: string[]): Promise<void>;
8
+ /** Read a JSON value from SDK storage */
9
+ export declare function storageGet<T>(key: string, fallback: T): Promise<T>;
10
+ /** Read a raw string from SDK storage */
11
+ export declare function storageGetRaw(key: string): Promise<string>;
12
+ /** Write a JSON value to SDK storage */
13
+ export declare function storageSet(key: string, value: unknown): Promise<void>;
14
+ /** Write a raw string to SDK storage */
15
+ export declare function storageSetRaw(key: string, value: string): Promise<void>;
16
+ /** Remove a key from SDK storage */
17
+ export declare function storageRemove(key: string): Promise<void>;
47
18
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../glasses/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAM7D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAO5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAM9D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAM/C;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlE"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../glasses/storage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH,yCAAyC;AACzC,wBAAsB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQxE;AAED,yCAAyC;AACzC,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhE;AAED,wCAAwC;AACxC,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E;AAED,wCAAwC;AACxC,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAED,oCAAoC;AACpC,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9D"}
@@ -1,96 +1,87 @@
1
1
  /**
2
2
  * Persistent storage for Even Hub apps.
3
3
  *
4
- * The Even Hub WebView doesn't persist browser localStorage across app restarts.
5
- * This module uses the SDK's `bridge.setLocalStorage/getLocalStorage` which DO persist,
6
- * with browser localStorage as a sync-read cache and fallback for web/dev.
7
- *
8
- * Usage:
9
- * import { storageSet, storageGetSync, hydrateFromSDK } from 'even-toolkit/storage';
10
- *
11
- * // In main.tsx — hydrate before render:
12
- * hydrateFromSDK(['my-app:settings', 'my-app:data']).finally(() => {
13
- * createRoot(...).render(<App />);
14
- * });
15
- *
16
- * // Read (synchronous):
17
- * const data = storageGetSync<MyData>('my-app:data', defaultValue);
18
- *
19
- * // Write (dual-write to localStorage + SDK bridge):
20
- * storageSet('my-app:data', data);
4
+ * Uses the SDK bridge's setLocalStorage/getLocalStorage directly.
5
+ * No browser localStorage, no caching — the SDK bridge is the single source of truth.
6
+ * Falls back silently when SDK is not available (web/dev).
21
7
  */
22
8
  function getBridge() {
23
- return window.__evenBridge ?? null;
9
+ const bridge = window.__evenBridge;
10
+ if (bridge?.setLocalStorage)
11
+ return bridge;
12
+ if (bridge?.rawBridge?.setLocalStorage)
13
+ return bridge.rawBridge;
14
+ return null;
24
15
  }
25
- /**
26
- * Read a JSON value synchronously from browser localStorage.
27
- * Call `hydrateFromSDK()` at startup to ensure localStorage has the latest SDK data.
28
- */
29
- export function storageGetSync(key, fallback) {
16
+ async function getRawBridge() {
17
+ const existing = getBridge();
18
+ if (existing)
19
+ return existing;
30
20
  try {
31
- const raw = localStorage.getItem(key);
32
- if (raw)
21
+ const { EvenBetterSdk } = await import('@jappyjan/even-better-sdk');
22
+ const raw = await Promise.race([
23
+ EvenBetterSdk.getRawBridge(),
24
+ new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), 3000)),
25
+ ]);
26
+ return raw;
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
32
+ /** Read a JSON value from SDK storage */
33
+ export async function storageGet(key, fallback) {
34
+ const bridge = getBridge() ?? await getRawBridge();
35
+ if (!bridge?.getLocalStorage)
36
+ return fallback;
37
+ try {
38
+ const raw = await bridge.getLocalStorage(key);
39
+ if (raw && raw !== '')
33
40
  return JSON.parse(raw);
34
41
  }
35
42
  catch { /* ignore */ }
36
43
  return fallback;
37
44
  }
38
- /**
39
- * Write a JSON-serializable value to both localStorage and SDK bridge.
40
- */
41
- export function storageSet(key, value) {
42
- const json = JSON.stringify(value);
45
+ /** Read a raw string from SDK storage */
46
+ export async function storageGetRaw(key) {
47
+ const bridge = getBridge() ?? await getRawBridge();
48
+ if (!bridge?.getLocalStorage)
49
+ return '';
43
50
  try {
44
- localStorage.setItem(key, json);
51
+ return await bridge.getLocalStorage(key);
45
52
  }
46
- catch { /* ignore */ }
47
- const bridge = getBridge();
48
- if (bridge?.setLocalStorage) {
49
- bridge.setLocalStorage(key, json).catch(() => { });
53
+ catch {
54
+ return '';
50
55
  }
51
56
  }
52
- /**
53
- * Write a raw string value to both localStorage and SDK bridge.
54
- * Use for pre-serialized or encrypted values that shouldn't be double-stringified.
55
- */
56
- export function storageSetRaw(key, value) {
57
+ /** Write a JSON value to SDK storage */
58
+ export async function storageSet(key, value) {
59
+ const bridge = getBridge();
60
+ if (!bridge?.setLocalStorage)
61
+ return;
57
62
  try {
58
- localStorage.setItem(key, value);
63
+ await bridge.setLocalStorage(key, JSON.stringify(value));
59
64
  }
60
65
  catch { /* ignore */ }
61
- const bridge = getBridge();
62
- if (bridge?.setLocalStorage) {
63
- bridge.setLocalStorage(key, value).catch(() => { });
64
- }
65
66
  }
66
- /**
67
- * Remove a key from both localStorage and SDK bridge.
68
- */
69
- export function storageRemove(key) {
70
- localStorage.removeItem(key);
67
+ /** Write a raw string to SDK storage */
68
+ export async function storageSetRaw(key, value) {
71
69
  const bridge = getBridge();
72
- if (bridge?.setLocalStorage) {
73
- bridge.setLocalStorage(key, '').catch(() => { });
70
+ if (!bridge?.setLocalStorage)
71
+ return;
72
+ try {
73
+ await bridge.setLocalStorage(key, value);
74
74
  }
75
+ catch { /* ignore */ }
75
76
  }
76
- /**
77
- * Hydrate browser localStorage from SDK bridge on app startup.
78
- * Call once before React renders so `storageGetSync` reads fresh data.
79
- *
80
- * @param keys - All storage keys used by the app
81
- */
82
- export async function hydrateFromSDK(keys) {
77
+ /** Remove a key from SDK storage */
78
+ export async function storageRemove(key) {
83
79
  const bridge = getBridge();
84
- if (!bridge?.getLocalStorage)
80
+ if (!bridge?.setLocalStorage)
85
81
  return;
86
- for (const key of keys) {
87
- try {
88
- const value = await bridge.getLocalStorage(key);
89
- if (value && value !== '') {
90
- localStorage.setItem(key, value);
91
- }
92
- }
93
- catch { /* ignore */ }
82
+ try {
83
+ await bridge.setLocalStorage(key, '');
94
84
  }
85
+ catch { /* ignore */ }
95
86
  }
96
87
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../glasses/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,SAAS,SAAS;IAChB,OAAQ,MAAc,CAAC,YAAY,IAAI,IAAI,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAI,GAAW,EAAE,QAAW;IACxD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACxB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,KAAc;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC;QAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa;IACtD,IAAI,CAAC;QAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC,MAAM,EAAE,eAAe;QAAE,OAAO;IAErC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBAC1B,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../glasses/storage.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const buttonVariants: (props?: ({
4
- variant?: "highlight" | "default" | "ghost" | "danger" | "secondary" | null | undefined;
4
+ variant?: "default" | "highlight" | "ghost" | "danger" | "secondary" | null | undefined;
5
5
  size?: "default" | "sm" | "lg" | "icon" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const cardVariants: (props?: ({
4
4
  variant?: "default" | "elevated" | "interactive" | null | undefined;
5
- padding?: "none" | "default" | "sm" | "lg" | null | undefined;
5
+ padding?: "default" | "none" | "sm" | "lg" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
8
8
  }
@@ -1,6 +1,6 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  declare const skeletonVariants: (props?: ({
3
- rounded?: "none" | "default" | "full" | null | undefined;
3
+ rounded?: "default" | "none" | "full" | null | undefined;
4
4
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
5
  interface SkeletonProps extends VariantProps<typeof skeletonVariants> {
6
6
  width?: string | number;
package/glasses/bridge.ts CHANGED
@@ -321,6 +321,26 @@ export class EvenHubBridge {
321
321
  this.sdk.addEventListener(handler);
322
322
  }
323
323
 
324
+ // ── Persistent storage (survives WebView restarts) ──
325
+
326
+ async setLocalStorage(key: string, value: string): Promise<boolean> {
327
+ if (!this.rawBridge) return false;
328
+ try {
329
+ return await (this.rawBridge as any).setLocalStorage(key, value);
330
+ } catch {
331
+ return false;
332
+ }
333
+ }
334
+
335
+ async getLocalStorage(key: string): Promise<string> {
336
+ if (!this.rawBridge) return '';
337
+ try {
338
+ return await (this.rawBridge as any).getLocalStorage(key);
339
+ } catch {
340
+ return '';
341
+ }
342
+ }
343
+
324
344
  dispose(): void {
325
345
  this.rawBridge = null;
326
346
  }
@@ -1,92 +1,78 @@
1
1
  /**
2
2
  * Persistent storage for Even Hub apps.
3
3
  *
4
- * The Even Hub WebView doesn't persist browser localStorage across app restarts.
5
- * This module uses the SDK's `bridge.setLocalStorage/getLocalStorage` which DO persist,
6
- * with browser localStorage as a sync-read cache and fallback for web/dev.
7
- *
8
- * Usage:
9
- * import { storageSet, storageGetSync, hydrateFromSDK } from 'even-toolkit/storage';
10
- *
11
- * // In main.tsx — hydrate before render:
12
- * hydrateFromSDK(['my-app:settings', 'my-app:data']).finally(() => {
13
- * createRoot(...).render(<App />);
14
- * });
15
- *
16
- * // Read (synchronous):
17
- * const data = storageGetSync<MyData>('my-app:data', defaultValue);
18
- *
19
- * // Write (dual-write to localStorage + SDK bridge):
20
- * storageSet('my-app:data', data);
4
+ * Uses the SDK bridge's setLocalStorage/getLocalStorage directly.
5
+ * No browser localStorage, no caching — the SDK bridge is the single source of truth.
6
+ * Falls back silently when SDK is not available (web/dev).
21
7
  */
22
8
 
23
9
  function getBridge(): any {
24
- return (window as any).__evenBridge ?? null;
10
+ const bridge = (window as any).__evenBridge;
11
+ if (bridge?.setLocalStorage) return bridge;
12
+ if (bridge?.rawBridge?.setLocalStorage) return bridge.rawBridge;
13
+ return null;
25
14
  }
26
15
 
27
- /**
28
- * Read a JSON value synchronously from browser localStorage.
29
- * Call `hydrateFromSDK()` at startup to ensure localStorage has the latest SDK data.
30
- */
31
- export function storageGetSync<T>(key: string, fallback: T): T {
16
+ async function getRawBridge(): Promise<any> {
17
+ const existing = getBridge();
18
+ if (existing) return existing;
19
+ try {
20
+ const { EvenBetterSdk } = await import('@jappyjan/even-better-sdk');
21
+ const raw = await Promise.race([
22
+ EvenBetterSdk.getRawBridge(),
23
+ new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), 3000)),
24
+ ]);
25
+ return raw;
26
+ } catch {
27
+ return null;
28
+ }
29
+ }
30
+
31
+ /** Read a JSON value from SDK storage */
32
+ export async function storageGet<T>(key: string, fallback: T): Promise<T> {
33
+ const bridge = getBridge() ?? await getRawBridge();
34
+ if (!bridge?.getLocalStorage) return fallback;
32
35
  try {
33
- const raw = localStorage.getItem(key);
34
- if (raw) return JSON.parse(raw);
36
+ const raw = await bridge.getLocalStorage(key);
37
+ if (raw && raw !== '') return JSON.parse(raw);
35
38
  } catch { /* ignore */ }
36
39
  return fallback;
37
40
  }
38
41
 
39
- /**
40
- * Write a JSON-serializable value to both localStorage and SDK bridge.
41
- */
42
- export function storageSet(key: string, value: unknown): void {
43
- const json = JSON.stringify(value);
44
- try { localStorage.setItem(key, json); } catch { /* ignore */ }
45
- const bridge = getBridge();
46
- if (bridge?.setLocalStorage) {
47
- bridge.setLocalStorage(key, json).catch(() => {});
42
+ /** Read a raw string from SDK storage */
43
+ export async function storageGetRaw(key: string): Promise<string> {
44
+ const bridge = getBridge() ?? await getRawBridge();
45
+ if (!bridge?.getLocalStorage) return '';
46
+ try {
47
+ return await bridge.getLocalStorage(key);
48
+ } catch {
49
+ return '';
48
50
  }
49
51
  }
50
52
 
51
- /**
52
- * Write a raw string value to both localStorage and SDK bridge.
53
- * Use for pre-serialized or encrypted values that shouldn't be double-stringified.
54
- */
55
- export function storageSetRaw(key: string, value: string): void {
56
- try { localStorage.setItem(key, value); } catch { /* ignore */ }
53
+ /** Write a JSON value to SDK storage */
54
+ export async function storageSet(key: string, value: unknown): Promise<void> {
57
55
  const bridge = getBridge();
58
- if (bridge?.setLocalStorage) {
59
- bridge.setLocalStorage(key, value).catch(() => {});
60
- }
56
+ if (!bridge?.setLocalStorage) return;
57
+ try {
58
+ await bridge.setLocalStorage(key, JSON.stringify(value));
59
+ } catch { /* ignore */ }
61
60
  }
62
61
 
63
- /**
64
- * Remove a key from both localStorage and SDK bridge.
65
- */
66
- export function storageRemove(key: string): void {
67
- localStorage.removeItem(key);
62
+ /** Write a raw string to SDK storage */
63
+ export async function storageSetRaw(key: string, value: string): Promise<void> {
68
64
  const bridge = getBridge();
69
- if (bridge?.setLocalStorage) {
70
- bridge.setLocalStorage(key, '').catch(() => {});
71
- }
65
+ if (!bridge?.setLocalStorage) return;
66
+ try {
67
+ await bridge.setLocalStorage(key, value);
68
+ } catch { /* ignore */ }
72
69
  }
73
70
 
74
- /**
75
- * Hydrate browser localStorage from SDK bridge on app startup.
76
- * Call once before React renders so `storageGetSync` reads fresh data.
77
- *
78
- * @param keys - All storage keys used by the app
79
- */
80
- export async function hydrateFromSDK(keys: string[]): Promise<void> {
71
+ /** Remove a key from SDK storage */
72
+ export async function storageRemove(key: string): Promise<void> {
81
73
  const bridge = getBridge();
82
- if (!bridge?.getLocalStorage) return;
83
-
84
- for (const key of keys) {
85
- try {
86
- const value = await bridge.getLocalStorage(key);
87
- if (value && value !== '') {
88
- localStorage.setItem(key, value);
89
- }
90
- } catch { /* ignore */ }
91
- }
74
+ if (!bridge?.setLocalStorage) return;
75
+ try {
76
+ await bridge.setLocalStorage(key, '');
77
+ } catch { /* ignore */ }
92
78
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "even-toolkit",
3
- "version": "1.5.8",
3
+ "version": "1.6.0",
4
4
  "bin": {
5
5
  "even-toolkit": "./bin/create.js"
6
6
  },