Skip to main content

LiveQuerySnapshot

Defined in: packages/db/src/live-query-observer.ts:66

The canonical, adapter-agnostic view of a live query at a point in time.

getSnapshot() returns a stable object identity that only changes when the query changes, so useSyncExternalStore-style consumers can compare by reference. Each snapshot owns a captured view of state/data, so reading an older snapshot cannot expose rows from a later revision.

Type Parameters

T

T extends object

TKey

TKey extends string | number

Properties

collection

collection: 
  | Collection<T, TKey, any, StandardSchemaV1<unknown, unknown>, T>
  | undefined;

Defined in: packages/db/src/live-query-observer.ts:75

The underlying collection, or undefined when disabled.


data

data: T | readonly T[] | undefined;

Defined in: packages/db/src/live-query-observer.ts:73

Ordered results (single row for findOne), or undefined when disabled.


isCleanedUp

isCleanedUp: boolean;

Defined in: packages/db/src/live-query-observer.ts:96


isEnabled

isEnabled: boolean;

Defined in: packages/db/src/live-query-observer.ts:97


isError

isError: boolean;

Defined in: packages/db/src/live-query-observer.ts:95


isIdle

isIdle: boolean;

Defined in: packages/db/src/live-query-observer.ts:94


isLoading

isLoading: boolean;

Defined in: packages/db/src/live-query-observer.ts:88


isPersistedReady

isPersistedReady: boolean;

Defined in: packages/db/src/live-query-observer.ts:92


isReady

isReady: boolean;

Defined in: packages/db/src/live-query-observer.ts:89


layoutRevision

layoutRevision: number;

Defined in: packages/db/src/live-query-observer.ts:86

Monotonic counter bumped whenever the visible layout (the ordered key sequence) changes — membership, ordering, or an order-only move. Lets consumers detect a reorder that changed no row value (which data/state identity alone can't express once row values are structurally shared).

It is NOT in lockstep with snapshot identity: a value-only update produces a new snapshot while layoutRevision stays put. A layoutRevision change always accompanies a new snapshot, but not vice versa.


persistedError

persistedError: unknown;

Defined in: packages/db/src/live-query-observer.ts:93


persistedStatus

persistedStatus: LiveQueryPersistedStatus;

Defined in: packages/db/src/live-query-observer.ts:91

Persisted restore is separate from upstream/Collection readiness.


state

state: ReadonlyMap<TKey, T> | undefined;

Defined in: packages/db/src/live-query-observer.ts:71

Keyed results, or undefined for a disabled query.


status

status: CollectionStatus | "disabled";

Defined in: packages/db/src/live-query-observer.ts:87