Skip to content

CreateStoreOptions

Defined in: packages/@livestore/livestore/src/store/create-store.ts:116

TSchema extends LiveStoreSchema

TContext = { }

TSyncPayloadSchema extends Schema.Schema<any> = typeof Schema.JsonValue

adapter: Adapter

Defined in: packages/@livestore/livestore/src/store/create-store.ts:122


optional batchUpdates: (run) => void

Defined in: packages/@livestore/livestore/src/store/create-store.ts:132

() => void

void


optional boot: (store, ctx) => SyncOrPromiseOrEffect<void, unknown, LiveStoreContextRunning | OtelTracer>

Defined in: packages/@livestore/livestore/src/store/create-store.ts:125

Store<TSchema, TContext>

{ migrations: readonly object[]; }

readonly object[]

Span

SyncOrPromiseOrEffect<void, unknown, LiveStoreContextRunning | OtelTracer>


optional confirmUnsavedChanges: boolean

Defined in: packages/@livestore/livestore/src/store/create-store.ts:147

Currently only used in the web adapter: If true, registers a beforeunload event listener to confirm unsaved changes.

true

optional context: TContext

Defined in: packages/@livestore/livestore/src/store/create-store.ts:124


optional debug: object

Defined in: packages/@livestore/livestore/src/store/create-store.ts:172

optional instanceId: string


optional disableDevtools: boolean | "auto"

Defined in: packages/@livestore/livestore/src/store/create-store.ts:138

Whether to disable devtools.

'auto'

optional onBootStatus: (status) => void

Defined in: packages/@livestore/livestore/src/store/create-store.ts:139

{ stage: "loading"; } | { progress: { done: number; total: number; }; stage: "migrating"; } | { progress: { done: number; total: number; }; stage: "rehydrating"; } | { progress: { done: number; total: number; }; stage: "syncing"; } | { stage: "done"; }

void


optional params: object

Defined in: packages/@livestore/livestore/src/store/create-store.ts:166

optional leaderPushBatchSize: number

optional simulation: object

clientSessionSyncProcessor: object

simulation.clientSessionSyncProcessor.pull
Section titled “simulation.clientSessionSyncProcessor.pull”

readonly pull: object

simulation.clientSessionSyncProcessor.pull.1_before_leader_push_fiber_interrupt
Section titled “simulation.clientSessionSyncProcessor.pull.1_before_leader_push_fiber_interrupt”

readonly 1_before_leader_push_fiber_interrupt: number

simulation.clientSessionSyncProcessor.pull.2_before_leader_push_queue_clear
Section titled “simulation.clientSessionSyncProcessor.pull.2_before_leader_push_queue_clear”

readonly 2_before_leader_push_queue_clear: number

simulation.clientSessionSyncProcessor.pull.3_before_rebase_rollback
Section titled “simulation.clientSessionSyncProcessor.pull.3_before_rebase_rollback”

readonly 3_before_rebase_rollback: number

simulation.clientSessionSyncProcessor.pull.4_before_leader_push_queue_offer
Section titled “simulation.clientSessionSyncProcessor.pull.4_before_leader_push_queue_offer”

readonly 4_before_leader_push_queue_offer: number

simulation.clientSessionSyncProcessor.pull.5_before_leader_push_fiber_run
Section titled “simulation.clientSessionSyncProcessor.pull.5_before_leader_push_fiber_run”

readonly 5_before_leader_push_fiber_run: number


schema: TSchema

Defined in: packages/@livestore/livestore/src/store/create-store.ts:121


optional shutdownDeferred: ShutdownDeferred

Defined in: packages/@livestore/livestore/src/store/create-store.ts:140


storeId: string

Defined in: packages/@livestore/livestore/src/store/create-store.ts:123


optional syncPayload: Type<TSyncPayloadSchema>

Defined in: packages/@livestore/livestore/src/store/create-store.ts:165

Payload that is sent to the sync backend during connection establishment.

  • Its TypeScript type is inferred from syncPayloadSchema (i.e. typeof SyncPayload.Type).
  • At runtime this value is encoded with syncPayloadSchema and carried through the adapter to the backend where it can be decoded with the same schema.
undefined

optional syncPayloadSchema: TSyncPayloadSchema

Defined in: packages/@livestore/livestore/src/store/create-store.ts:155

Schema describing the shape of the sync payload and used to encode it.

  • If omitted, Schema.JsonValue is used (no additional typing/validation).
  • Prefer exporting a schema from your app (e.g. export const SyncPayload = Schema.Struct({ authToken: Schema.String })) and pass it here to get end-to-end type safety and validation.