d2c6b5ea5665

feat: src/shared/storage.ts — unified chrome.storage / Capacitor bridge

time
2026-04-29 19:34 UTC · 6 months ago
machine
koh2
parent
a8f5e20c98c9
1 file src/shared/storage.ts+35 −0
src/shared/storage.ts+35 −0
@@ -0,0 +1,35 @@1+import { Capacitor } from "@capacitor/core";2+import { Preferences } from "@capacitor/preferences";3+4+export async function storageGet(key: string): Promise<string | null> {5+  if (!Capacitor.isNativePlatform()) {6+    const result = await chrome.storage.local.get(key);7+    return (result as Record<string, string | undefined>)[key] ?? null;8+  }9+  const { value } = await Preferences.get({ key });10+  return value;11+}12+13+export async function storageSet(key: string, value: string): Promise<void> {14+  if (!Capacitor.isNativePlatform()) {15+    await chrome.storage.local.set({ [key]: value });16+    return;17+  }18+  await Preferences.set({ key, value });19+}20+21+export async function storageRemove(key: string): Promise<void> {22+  if (!Capacitor.isNativePlatform()) {23+    await chrome.storage.local.remove(key);24+    return;25+  }26+  await Preferences.remove({ key });27+}28+29+export async function storageClear(): Promise<void> {30+  if (!Capacitor.isNativePlatform()) {31+    await chrome.storage.local.clear();32+    return;33+  }34+  await Preferences.clear();35+}

view file