Appearance
@idlekitjs/storage
Save adapter implementations for IdleKit persistence.
What it provides
MemoryAdapterfrom@idlekitjs/storage/memory.LocalStorageAdapterfrom@idlekitjs/storage/local-storage.
Both implement the SaveAdapter contract defined in @idlekitjs/types and consumed by SaveManager.
When to use it
Use @idlekitjs/storage when you need a concrete backend for SaveManager. Use MemoryAdapter for tests, SSR and ephemeral sessions. Use LocalStorageAdapter for browser games that save locally.
Basic usage
ts
import { SaveManager } from "@idlekitjs/core";
import { LocalStorageAdapter } from "@idlekitjs/storage/local-storage";
const save = new SaveManager<State>({
key: "my-game",
version: 1,
adapter: new LocalStorageAdapter(),
});
await save.save(engine.state);Boundaries
@idlekitjs/storage owns persistence backends, not gameplay save policies. Versioning, migrations and JSON serialization are handled by SaveManager; when to save is handled by game code or @idlekitjs/plugins.
Core knows the SaveAdapter contract but no concrete backend. Mechanics never touch storage directly.