QueryCollectionUtils

Interface: QueryCollectionUtils<TItem, TKey, TInsertInput, TError>

Defined in: packages/query-db-collection/src/query.ts:149

Utility methods available on Query Collections for direct writes and manual operations. Direct writes bypass the normal query/mutation flow and write directly to the synced data store.

Extends

  • UtilsRecord

Type Parameters

TItem

TItem extends object = Record<string, unknown>

The type of items stored in the collection

TKey

TKey extends string | number = string | number

The type of the item keys

TInsertInput

TInsertInput extends object = TItem

The type accepted for insert operations

TError

TError = unknown

The type of errors that can occur during queries

Indexable

ts
[key: string]: any
[key: string]: any

Properties

clearError()

ts
clearError: () => Promise<void>;
clearError: () => Promise<void>;

Defined in: packages/query-db-collection/src/query.ts:194

Clear the error state and trigger a refetch of the query

Returns

Promise<void>

Promise that resolves when the refetch completes successfully

Throws

Error if the refetch fails


dataUpdatedAt

ts
dataUpdatedAt: number;
dataUpdatedAt: number;

Defined in: packages/query-db-collection/src/query.ts:185

Get timestamp of last successful data update (in milliseconds)


errorCount

ts
errorCount: number;
errorCount: number;

Defined in: packages/query-db-collection/src/query.ts:177

Get the number of consecutive sync failures. Incremented only when query fails completely (not per retry attempt); reset on success.


fetchStatus

ts
fetchStatus: "idle" | "fetching" | "paused";
fetchStatus: "idle" | "fetching" | "paused";

Defined in: packages/query-db-collection/src/query.ts:187

Get current fetch status


isError

ts
isError: boolean;
isError: boolean;

Defined in: packages/query-db-collection/src/query.ts:172

Check if the collection is in an error state


isFetching

ts
isFetching: boolean;
isFetching: boolean;

Defined in: packages/query-db-collection/src/query.ts:179

Check if query is currently fetching (initial or background)


isLoading

ts
isLoading: boolean;
isLoading: boolean;

Defined in: packages/query-db-collection/src/query.ts:183

Check if query is loading for the first time (no data yet)


isRefetching

ts
isRefetching: boolean;
isRefetching: boolean;

Defined in: packages/query-db-collection/src/query.ts:181

Check if query is refetching in background (not initial fetch)


lastError

ts
lastError: TError | undefined;
lastError: TError | undefined;

Defined in: packages/query-db-collection/src/query.ts:170

Get the last error encountered by the query (if any); reset on success


refetch

ts
refetch: RefetchFn;
refetch: RefetchFn;

Defined in: packages/query-db-collection/src/query.ts:156

Manually trigger a refetch of the query


writeBatch()

ts
writeBatch: (callback) => void;
writeBatch: (callback) => void;

Defined in: packages/query-db-collection/src/query.ts:166

Execute multiple write operations as a single atomic batch to the synced data store

Parameters

callback

() => void

Returns

void


writeDelete()

ts
writeDelete: (keys) => void;
writeDelete: (keys) => void;

Defined in: packages/query-db-collection/src/query.ts:162

Delete one or more items directly from the synced data store without triggering a query refetch or optimistic update

Parameters

keys

TKey | TKey[]

Returns

void


writeInsert()

ts
writeInsert: (data) => void;
writeInsert: (data) => void;

Defined in: packages/query-db-collection/src/query.ts:158

Insert one or more items directly into the synced data store without triggering a query refetch or optimistic update

Parameters

data

TInsertInput | TInsertInput[]

Returns

void


writeUpdate()

ts
writeUpdate: (updates) => void;
writeUpdate: (updates) => void;

Defined in: packages/query-db-collection/src/query.ts:160

Update one or more items directly in the synced data store without triggering a query refetch or optimistic update

Parameters

updates

Partial<TItem> | Partial<TItem>[]

Returns

void


writeUpsert()

ts
writeUpsert: (data) => void;
writeUpsert: (data) => void;

Defined in: packages/query-db-collection/src/query.ts:164

Insert or update one or more items directly in the synced data store without triggering a query refetch or optimistic update

Parameters

data

Partial<TItem> | Partial<TItem>[]

Returns

void

Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.

Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.