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
↓ peach-browser-d2c6b5ea.tar.gzatlas at this save
files changed1 file
src/shared/storage.ts+35 −0src/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+}