Rxova
Skip to content

SharedStore

Type Parameter
S extends Record<string, unknown>
readonly clientId: string;

readonly state: S;

Live proxy for imperative use: store.state.count++ syncs everywhere.

close(): void;

void


getSnapshot(): Readonly<S>;

Immutable snapshot, replaced whenever a change is applied. Safe for useSyncExternalStore.

Readonly<S>


getVersions(): Readonly<Record<string, Version>>;

The per-key version clocks behind the snapshot. Referentially stable, like getSnapshot.

Readonly<Record<string, Version>>


registerKey<K>(key, initial): void;

Register a key lazily at version [0, clientId] — any patch or snapshot a peer has already made for it wins over the initial value. No-op if the key already exists.

Type Parameter
K extends string
ParameterType
keyK
initialS[K]

void


set<K>(key, value): void;
Type Parameter
K extends string
ParameterType
keyK
valueS[K] | ((prev) => S[K])

void


subscribe(fn): () => void;
ParameterType
fn(key, value, meta) => void

() => void


subscribeKey(key, fn): () => void;
ParameterType
keykeyof S & string
fn() => void

() => void