- Core API Reference
- Collection
- createCollection
- liveQueryCollectionOptions
- createLiveQueryCollection
- createOptimisticAction
- createTransaction
- Electric DB Collection
- electricCollectionOptions
- Query DB Collection
- queryCollectionOptions
- RxDB DB Collection
- rxdbCollectionOptions
- PowerSync Collection
- powerSyncCollectionOptions
- createIndexedDB
- indexedDBCollectionOptions
- React Hooks
- useLiveQuery
SubscribeChangesOptions
Defined in: packages/db/src/types.ts:1207
Options for subscribing to collection changes
Type Parameters#
T#
T extends object = Record<string, unknown>
TKey#
TKey extends string | number = string | number
Properties#
deferAcquisition?#
optional deferAcquisition: boolean;Defined in: packages/db/src/types.ts:1238
Internal
Whether this subscription defers provider work. It keeps the Collection alive and reads its local rows, but starts no idle source sync run and no acquisition attempt until subscription.resumeDeferredAcquisition(). A live-query Collection defers its source subscriptions until it has a subscriber or a preload in its current sync run.
includeInitialState?#
optional includeInitialState: boolean;Defined in: packages/db/src/types.ts:1212
Whether to include the current state as initial changes
limit?#
optional limit: number;Defined in: packages/db/src/types.ts:1260
Internal
Optional limit to include in loadSubset for query-specific cache keys.
onLoadSubsetError()?#
optional onLoadSubsetError: (event) => void;Defined in: packages/db/src/types.ts:1268
Internal
Receives subset-load failures scoped to this subscription.
Parameters#
event#
SubscriptionLoadSubsetErrorEvent
Returns#
void
onLoadSubsetResult()?#
optional onLoadSubsetResult: (result) => void;Defined in: packages/db/src/types.ts:1266
Internal
Callback that receives the loadSubset result (Promise or true) from requestSnapshot. Allows the caller to directly track the loading promise for isReady status.
Parameters#
result#
Returns#
void
onStatusChange()?#
optional onStatusChange: (event) => void;Defined in: packages/db/src/types.ts:1250
Internal
Listener for subscription status changes. Registered BEFORE any snapshot is requested, ensuring no status transitions are missed.
Parameters#
event#
Returns#
void
orderBy?#
optional orderBy: OrderBy;Defined in: packages/db/src/types.ts:1255
Internal
Optional orderBy to include in loadSubset for query-specific cache keys.
owner?#
optional owner: CollectionDependent;Defined in: packages/db/src/types.ts:1244
Internal
The live query or Effect this subscription reads for, so collection.subscribers can name it.
truncateReplayPublication?#
optional truncateReplayPublication: object;Defined in: packages/db/src/types.ts:1270
Internal
Lets a live-query graph retain its last publication during replay.
fail()?#
readonly optional fail: (error) => void;The replay could not load every active demand again.
Parameters#
error#
Error
Returns#
void
holdsDemand()?#
readonly optional holdsDemand: () => boolean;The live query still holds logical demand.
Returns#
boolean
start()#
readonly start: () => void;Returns#
void
succeed()#
readonly succeed: () => void;Returns#
void
where()?#
optional where: (row) => any;Defined in: packages/db/src/types.ts:1227
Callback function for filtering changes using a row proxy. The callback receives a proxy object that records property access, allowing you to use query builder functions like eq, gt, etc.
Parameters#
row#
SingleRowRefProxy<WithVirtualProps<T, TKey>, TKey, true>
Returns#
any
Example#
import { eq } from "@tanstack/db"
collection.subscribeChanges(callback, {
where: (row) => eq(row.status, "active")
})whereExpression?#
optional whereExpression: BasicExpression<boolean>;Defined in: packages/db/src/types.ts:1229
Pre-compiled expression for filtering changes