import { StorageData, DEFAULT_STORAGE } from '../types.js'; export class StorageService { static async get(keys: K[]): Promise>; static async get(): Promise; static async get(keys?: (keyof StorageData)[]): Promise { const defaults = DEFAULT_STORAGE; if (keys) { const keyDefaults: any = {}; keys.forEach(key => { keyDefaults[key] = defaults[key]; }); return chrome.storage.local.get(keyDefaults); } return chrome.storage.local.get(defaults); } static async set(data: Partial): Promise { return chrome.storage.local.set(data); } static async update(key: K, value: StorageData[K]): Promise { return this.set({ [key]: value } as Partial); } }