Skip to content

Snapshots

Status: Stable
Import: @jayoncode/storage/snapshots

Previous: Maintenance · Next: Observable

Export and restore one namespace of envelopes.

ts
import { createStorage, createMemoryAdapter } from "@jayoncode/storage";
import { snapshot, restore } from "@jayoncode/storage/snapshots";

const storage = createStorage({
  namespace: "app",
  adapter: createMemoryAdapter(),
});

storage.set("theme", "dark");
const snap = snapshot(storage);

restore(storage, snap, { mode: "overwrite" });
// merge (default) keeps keys not present in the snapshot

Behavior

TopicRule
Expired entriesSkipped on snapshot/restore unless opted in
MigrateNot run on restore — get may migrate later
NamespaceSnapshot namespace must match storage
Formatformat: 1 document version (≠ envelope v)

Options

snapshot: includeExpired?: boolean
restore: mode?: "merge" | "overwrite", restoreExpired?: boolean

See also: Maintenance · Core

An ecosystem of independent, headless TypeScript libraries engineered for modern web development. Every package includes interactive playgrounds and documentation that evolves alongside the code.