Fetch User Settings
Summary
The fetch method retrieves a stored value from User Settings by its key. Returns null if the key does not exist.
Purpose
- Retrieve user preferences stored by the extension
- Check if a setting exists before using it
- Load user-specific configuration on extension startup
Syntax
SigmaSDK.WRITER.storage.user.fetch(key)
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
key | String | Yes | The key to fetch from user storage |
Response
Returns a Promise that resolves with the stored string value, or null if the key is not found.
Basic Example
SigmaSDK.WRITER.storage.user.fetch("theme")
.then(function(value) {
if (value) {
console.log("Theme:", value);
} else {
console.log("No theme set, using default.");
}
});With Async/Await
async function loadUserPreferences() {
const theme = await SigmaSDK.WRITER.storage.user.fetch("theme");
const language = await SigmaSDK.WRITER.storage.user.fetch("language");
applyTheme(theme || "light");
applyLanguage(language || "en");
}Fetch Multiple Keys with Promise.all
const [theme, lang, fontSize] = await Promise.all([
SigmaSDK.WRITER.storage.user.fetch("theme"),
SigmaSDK.WRITER.storage.user.fetch("language"),
SigmaSDK.WRITER.storage.user.fetch("fontSize")
]);
console.log("Settings:", { theme, lang, fontSize });Conditional Logic
async function init() {
await SigmaSDK.WRITER.init();
const savedTheme = await SigmaSDK.WRITER.storage.user.fetch("theme");
if (savedTheme) {
document.body.className = savedTheme;
} else {
// First run — save default theme
await SigmaSDK.WRITER.storage.user.add({ key: "theme", value: "light" });
}
}Error Handling
SigmaSDK.WRITER.storage.user.fetch("my_key")
.then(function(value) {
// value is null if key doesn't exist
return value || "default_value";
})
.catch(function(error) {
console.error("Fetch failed:", error);
});