import browser from 'webextension-polyfill'; import {StorageSchema, defaultStorage} from '../types/storage'; export async function getStorage( keys: K[] ): Promise> { const result = await browser.storage.local.get(keys); const output = {} as Pick; for (const key of keys) { output[key] = (result[key] as StorageSchema[K]) ?? defaultStorage[key]; } return output; } export async function setStorage( items: Pick ): Promise { await browser.storage.local.set(items); } export async function getAllStorage(): Promise { const result = await browser.storage.local.get(null); return { ...defaultStorage, ...result, }; }