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

ParameterTypeRequiredDescription
keyStringYesThe 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);
    });

Related Pages

Sample request