Skip to content

LiveQuery

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:202

A live query instance bound to a specific Store.

LiveQuery represents an active, stateful query in the reactivity graph. Unlike query definitions (LiveQueryDef), instances maintain state like execution counts, timing data, and active subscriptions.

You typically don’t work with LiveQuery directly—use store.query() for one-shot reads or store.subscribe() for reactive subscriptions. The instance is managed automatically via reference counting.

TResult

The type of value the query returns

__result!: TResult

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:210

Type-level only—extracts the result type from a LiveQuery


_tag: "computed" | "db" | "graphql" | "signal"

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:206

Discriminator for the query type


[TypeId]: typeof TypeId

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:207


activeSubscriptions: Set<StackInfo>

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:227

Stack traces of active subscriptions (for debugging)


def: LiveQueryDef<TResult, "def"> | SignalDef<TResult>

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:235

The definition that created this instance


destroy: () => void

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:222

Removes the query from the reactivity graph

void


executionTimes: number[]

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:233

Execution times in milliseconds (for performance monitoring)


id: number

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:204

Unique identifier for this query instance


isDestroyed: boolean

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:224

Whether this query instance has been destroyed


label: string

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:216

Human-readable label for debugging and devtools


results$: Atom<TResult, ReactivityGraphContext, RefreshReason>

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:213

The underlying reactive atom in the graph that holds the query result


run: (args) => TResult

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:219

Executes the query and returns the result

RefreshReason

Context

TResult


runs: number

Defined in: packages/@livestore/livestore/src/live-queries/base-class.ts:230

Number of times this query has been executed