1234import { Preferences } from "@capacitor/preferences";56export const chrome = {7 storage: {8 local: {9 async get(keys: string | string[] | Record<string, unknown>): Promise<Record<string, unknown>> {10 const keyArray = Array.isArray(keys) ? keys : typeof keys === "string" ? [keys] : Object.keys(keys);11 const result: Record<string, unknown> = {};12 for (const k of keyArray) {13 const { value } = await Preferences.get({ key: k });14 if (value !== undefined) result[k] = value;15 }16 return result;17 },18 async set(items: Record<string, unknown>): Promise<void> {19 for (const [k, v] of Object.entries(items)) {20 await Preferences.set({ key: k, value: String(v) });21 }22 },23 async remove(keys: string | string[]): Promise<void> {24 const keyArray = Array.isArray(keys) ? keys : [keys];25 for (const k of keyArray) {26 await Preferences.remove({ key: k });27 }28 },29 async clear(): Promise<void> {30 await Preferences.clear();31 },32 },33 session: {34 35 _session: new Map<string, unknown>(),36 async get(keys: string | string[] | Record<string, unknown>): Promise<Record<string, unknown>> {37 const keyArray = Array.isArray(keys) ? keys : typeof keys === "string" ? [keys] : Object.keys(keys);38 const result: Record<string, unknown> = {};39 for (const k of keyArray) {40 if (this._session.has(k)) result[k] = this._session.get(k);41 }42 return result;43 },44 async set(items: Record<string, unknown>): Promise<void> {45 for (const [k, v] of Object.entries(items)) this._session.set(k, v);46 },47 async remove(keys: string | string[]): Promise<void> {48 const keyArray = Array.isArray(keys) ? keys : [keys];49 for (const k of keyArray) this._session.delete(k);50 },51 },52 onChanged: { addListener: () => {}, removeListener: () => {} },53 },54 runtime: {55 sendMessage: (_msg: unknown, cb?: (r: unknown) => void) => { if (cb) cb({ ok: false, error: "NO_SERVICE_WORKER" }); },56 onMessage: { addListener: () => {}, removeListener: () => {} },57 connect: () => ({ disconnect: () => {} }),58 lastError: null,59 },60};