The storage
object provides a simple persistent key-value store for your machine code. Under the hood, it uses LevelDB, which is a fast and reliable embedded database. Each machine has its own isolated storage, so data is not shared between machines.
setValue
, getValue
, getAll
, and removeValue
.await storage.setValue('user:123', { name: 'Alice', age: 30 }); await storage.setValue('counter', 42); await storage.setValue('isActive', true);
const user = await storage.getValue('user:123'); // { name: 'Alice', age: 30 } const counter = await storage.getValue('counter'); // 42 const isActive = await storage.getValue('isActive'); // true
const allData = await storage.getAll(); // { 'user:123': { name: 'Alice', age: 30 }, counter: 42, isActive: true }
await storage.removeValue('counter');
user:123
, settings
, session:abc
).undefined
from getValue
, the key does not exist.Example: User settings
// Save user settings await storage.setValue('settings', { theme: 'dark', notifications: true }); // Load user settings const settings = await storage.getValue('settings');
Example: Storing a list
let todos = await storage.getValue('todos') || []; todos.push({ text: 'Buy milk', done: false }); await storage.setValue('todos', todos);
Example: Simple counter
let count = await storage.getValue('count') || 0; count++; await storage.setValue('count', count);
© 2025 Routzie Routzie.com