CreateStoreOptions
Defined in: packages/@livestore/livestore/src/store/create-store.ts:136
Extends
Section titled “Extends”WithLoggerOptions
Extended by
Section titled “Extended by”Type Parameters
Section titled “Type Parameters”TSchema
Section titled “TSchema”TSchema extends LiveStoreSchema
TContext
Section titled “TContext”TContext = { }
TSyncPayloadSchema
Section titled “TSyncPayloadSchema”TSyncPayloadSchema extends Schema.Schema<any> = typeof Schema.JsonValue
Properties
Section titled “Properties”adapter
Section titled “adapter”adapter:
Adapter
Defined in: packages/@livestore/livestore/src/store/create-store.ts:144
Adapter used for data storage and synchronization.
batchUpdates()?
Section titled “batchUpdates()?”
optionalbatchUpdates: (run) =>void
Defined in: packages/@livestore/livestore/src/store/create-store.ts:177
Needed in React so LiveStore can apply multiple events in a single render.
Parameters
Section titled “Parameters”() => void
Returns
Section titled “Returns”void
Example
Section titled “Example”// With React DOMimport { unstable_batchedUpdates as batchUpdates } from 'react-dom'
// With React Nativeimport { unstable_batchedUpdates as batchUpdates } from 'react-native'boot()?
Section titled “boot()?”
optionalboot: (store,ctx) =>SyncOrPromiseOrEffect<void,unknown,OtelTracer|LiveStoreContextRunning>
Defined in: packages/@livestore/livestore/src/store/create-store.ts:157
Parameters
Section titled “Parameters”Store<TSchema, TContext>
migrationsReport
Section titled “migrationsReport”{ migrations: readonly object[]; }
migrationsReport.migrations
Section titled “migrationsReport.migrations”readonly object[]
parentSpan
Section titled “parentSpan”Span
Returns
Section titled “Returns”SyncOrPromiseOrEffect<void, unknown, OtelTracer | LiveStoreContextRunning>
confirmUnsavedChanges?
Section titled “confirmUnsavedChanges?”
optionalconfirmUnsavedChanges:boolean
Defined in: packages/@livestore/livestore/src/store/create-store.ts:191
Currently only used in the web adapter: If true, registers a beforeunload event listener to confirm unsaved changes.
Default
Section titled “Default”truecontext?
Section titled “context?”
optionalcontext:TContext
Defined in: packages/@livestore/livestore/src/store/create-store.ts:156
User-defined context that will be attached to the created Store (e.g. for dependency injection).
debug?
Section titled “debug?”
optionaldebug:object
Defined in: packages/@livestore/livestore/src/store/create-store.ts:220
instanceId?
Section titled “instanceId?”
optionalinstanceId:string
disableDevtools?
Section titled “disableDevtools?”
optionaldisableDevtools:boolean|"auto"
Defined in: packages/@livestore/livestore/src/store/create-store.ts:183
Whether to disable devtools.
Default
Section titled “Default”'auto'logger?
Section titled “logger?”
optionallogger:Layer<never,never,never>
Defined in: packages/@livestore/common/dist/logging.d.ts:11
Optional Effect logger layer to control logging output.
Inherited from
Section titled “Inherited from”LogConfig.WithLoggerOptions.logger
logLevel?
Section titled “logLevel?”
optionallogLevel:LogLevel
Defined in: packages/@livestore/common/dist/logging.d.ts:13
Optional minimum log level for the runtime.
Inherited from
Section titled “Inherited from”LogConfig.WithLoggerOptions.logLevel
onBootStatus()?
Section titled “onBootStatus()?”
optionalonBootStatus: (status) =>void
Defined in: packages/@livestore/livestore/src/store/create-store.ts:164
Parameters
Section titled “Parameters”status
Section titled “status”{ 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"; } | { message: string; reason: "private-browsing" | "storage-unavailable" | "unknown"; stage: "warning"; }
Returns
Section titled “Returns”void
params?
Section titled “params?”
optionalparams:object
Defined in: packages/@livestore/livestore/src/store/create-store.ts:211
Options provided to the Store constructor.
eventQueryBatchSize?
Section titled “eventQueryBatchSize?”
optionaleventQueryBatchSize:number
Chunk size used when the stream replays confirmed events.
leaderPushBatchSize?
Section titled “leaderPushBatchSize?”
optionalleaderPushBatchSize:number
Max events pushed to the leader per write batch.
simulation?
Section titled “simulation?”
optionalsimulation:object
simulation.clientSessionSyncProcessor
Section titled “simulation.clientSessionSyncProcessor”clientSessionSyncProcessor:
object
simulation.clientSessionSyncProcessor.pull
Section titled “simulation.clientSessionSyncProcessor.pull”
readonlypull:object
simulation.clientSessionSyncProcessor.pull.1_before_leader_push_fiber_interrupt
Section titled “simulation.clientSessionSyncProcessor.pull.1_before_leader_push_fiber_interrupt”
readonly1_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”
readonly2_before_leader_push_queue_clear:number
simulation.clientSessionSyncProcessor.pull.3_before_rebase_rollback
Section titled “simulation.clientSessionSyncProcessor.pull.3_before_rebase_rollback”
readonly3_before_rebase_rollback:number
simulation.clientSessionSyncProcessor.pull.4_before_leader_push_queue_offer
Section titled “simulation.clientSessionSyncProcessor.pull.4_before_leader_push_queue_offer”
readonly4_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”
readonly5_before_leader_push_fiber_run:number
schema
Section titled “schema”schema:
TSchema
Defined in: packages/@livestore/livestore/src/store/create-store.ts:142
The LiveStore schema defining tables, events, and materializers.
shutdownDeferred?
Section titled “shutdownDeferred?”
optionalshutdownDeferred:ShutdownDeferred
Defined in: packages/@livestore/livestore/src/store/create-store.ts:184
storeId
Section titled “storeId”storeId:
string
Defined in: packages/@livestore/livestore/src/store/create-store.ts:154
Unique identifier for the Store instance, stable for its lifetime.
- Valid characters: Only alphanumeric characters, underscores (
_), and hyphens (-) are allowed. Must match/^[a-zA-Z0-9_-]+$/. - Globally unique: Use globally unique IDs (e.g., nanoid) to prevent collisions across stores.
- Use namespaces: Prefix to avoid collisions and for easier identification when debugging
(e.g.,
app-root,workspace-abc123,issue-456)
syncPayload?
Section titled “syncPayload?”
optionalsyncPayload:Type<TSyncPayloadSchema>
Defined in: packages/@livestore/livestore/src/store/create-store.ts:209
Payload that is sent to the sync backend when connecting
- Its TypeScript type is inferred from
syncPayloadSchema(i.e.typeof SyncPayload.Type). - At runtime this value is encoded with
syncPayloadSchemaand carried through the adapter to the backend where it can be decoded with the same schema.
Default
Section titled “Default”undefinedsyncPayloadSchema?
Section titled “syncPayloadSchema?”
optionalsyncPayloadSchema:TSyncPayloadSchema
Defined in: packages/@livestore/livestore/src/store/create-store.ts:199
Schema describing the shape of the sync payload and used to encode it.
- If omitted,
Schema.JsonValueis 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.