src/lib/storage/settings-storage.ts
Symbols by Kind
function
2
All Symbols
| Name | Kind | Visibility | Status | Lines | Signature |
|---|---|---|---|---|---|
| getSettings | function | exported- | 10-12 | getSettings(): : Promise<Settings> |
|
| saveSettings | function | exported- | 18-24 | saveSettings(settings: Partial<Settings>): : Promise<void> |
Full Source
/**
* Settings storage — read/write extension settings.
*/
import type { Settings } from "@/types";
import { DEFAULT_SETTINGS } from "@/types";
import { STORAGE_KEYS, getFromStorage, updateStorageAtomically } from "./core";
/** Retrieves current extension settings, merged with defaults. */
export async function getSettings(): Promise<Settings> {
return getFromStorage<Settings>(STORAGE_KEYS.SETTINGS, DEFAULT_SETTINGS);
}
/**
* Saves a partial settings update (shallow merge with current settings).
* @param settings - Partial settings to merge
*/
export async function saveSettings(settings: Partial<Settings>): Promise<void> {
await updateStorageAtomically(
STORAGE_KEYS.SETTINGS,
DEFAULT_SETTINGS,
(current) => ({ ...current, ...settings }),
);
}