Skip to content

LiveQuery

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

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:177

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:173

Discriminator for the query type


[TypeId]: typeof TypeId

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


activeSubscriptions: Set<StackInfo>

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

Stack traces of active subscriptions (for debugging)


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

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

The definition that created this instance


destroy: () => void

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

Removes the query from the reactivity graph

void


executionTimes: number[]

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

Execution times in milliseconds (for performance monitoring)


id: number

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

Unique identifier for this query instance


isDestroyed: boolean

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

Whether this query instance has been destroyed


label: string

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

Human-readable label for debugging and devtools


results$: Atom<TResult, ReactivityGraphContext, RefreshReason>

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

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:186

Executes the query and returns the result

RefreshReason

Context

TResult


runs: number

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

Number of times this query has been executed