WebExeBuilder Documentation

set

Category: Storage

Namespace: web.storage.set

Description

Save a string value by key name to the app's persistent key-value store. Values survive app restarts and are stored in storage.json inside the app's dedicated storage folder.

Syntax

await web.storage.set({ key: 'keyName', value: 'value' });

Parameters

Parameter Type Required Description
key string Yes The key name to store the value under
value string Yes The value to store. Non-string values are automatically converted to strings

Returns

Promise<boolean> - Resolves true on success, rejects with an error on failure

Example

Simple example

await web.storage.set({ key: 'username', value: 'Alice' });

Practical example — save game settings

await web.storage.set({ key: 'difficulty', value: 'hard' });
await web.storage.set({ key: 'soundEnabled', value: 'true' });
await web.storage.set({ key: 'highScore', value: String(score) });

Advanced example — save a JSON object as a value

const playerData = { name: 'Alice', level: 5, xp: 1200 };
await web.storage.set({ key: 'player', value: JSON.stringify(playerData) });

// Later, restore it:
const raw = await web.storage.get({ key: 'player' });
const player = JSON.parse(raw);

Error Handling

try {
    await web.storage.set({ key: 'score', value: '100' });
} catch (e) {
    console.error('Failed to save:', e.message);
}
  • web.storage.get() - Read a value by key
  • web.storage.remove() - Delete a key
  • web.storage.clear() - Delete all keys
  • web.storage.keys() - List all key names

Notes

  • Keys are case-sensitive
  • Values are always stored and returned as strings — use JSON.stringify/JSON.parse for objects and numbers
  • Calling set on an existing key overwrites the previous value
  • Changes are written to disk immediately on every call