Skip to content

makeInMemoryAdapter

makeInMemoryAdapter(options): Adapter

Defined in: packages/@livestore/adapter-web/src/in-memory/in-memory-adapter.ts:107

Creates a web-only in-memory LiveStore adapter.

This adapter runs entirely in memory with no persistence. Ideal for:

  • Unit tests and integration tests
  • Sandboxes and demos
  • Ephemeral sessions where persistence isn’t needed

Characteristics:

  • Fast, zero I/O overhead
  • Works in all browser contexts: Window, WebWorker, SharedWorker, ServiceWorker
  • Supports optional sync backends for real-time collaboration
  • No data persists after page reload

For persistent storage, use makePersistedAdapter instead.

InMemoryAdapterOptions = {}

Adapter

import { makeInMemoryAdapter } from '@livestore/adapter-web'
const adapter = makeInMemoryAdapter()
// With sync backend for real-time collaboration
import { makeInMemoryAdapter } from '@livestore/adapter-web'
import { makeWsSync } from '@livestore/sync-cf/client'
const adapter = makeInMemoryAdapter({
sync: {
backend: makeWsSync({ url: 'wss://api.example.com/sync' }),
},
})
// Pre-populate with existing data
const adapter = makeInMemoryAdapter({
importSnapshot: existingDbSnapshot,
})