- 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
SyncConfig
Defined in: packages/db/src/types.ts:445
Type Parameters#
T#
T extends object = Record<string, unknown>
TKey#
TKey extends string | number = string | number
Properties#
exportSyncMeta()?#
optional exportSyncMeta: () => unknown;Defined in: packages/db/src/types.ts:520
Export adapter-specific metadata that lets hydration/persistence resume sync. The payload shape is owned by the adapter.
Returns#
unknown
getSyncMetadata()?#
optional getSyncMetadata: () => Record<string, unknown>;Defined in: packages/db/src/types.ts:514
Get the sync metadata for insert operations
Returns#
Record<string, unknown>
Record containing relation information
importSyncMeta()?#
optional importSyncMeta: (meta) => void;Defined in: packages/db/src/types.ts:525
Import adapter-specific metadata produced by exportSyncMeta.
Parameters#
meta#
unknown
Returns#
void
mergeSyncMeta()?#
optional mergeSyncMeta: (current, incoming) => unknown;Defined in: packages/db/src/types.ts:530
Merge two adapter-specific metadata payloads during hydration.
Parameters#
current#
unknown
incoming#
unknown
Returns#
unknown
rowUpdateMode?#
optional rowUpdateMode: "full" | "partial";Defined in: packages/db/src/types.ts:539
The row update mode used to sync to the collection.
Default#
partial
Description#
- partial: Updates contain only the changes to the row.
- full: Updates contain the entire row.
sync()#
sync: (params) =>
| void
| CleanupFn
| SyncConfigRes;Defined in: packages/db/src/types.ts:449
Parameters#
params#
begin#
(options?) => void
Begin a new sync transaction. direct: true marks a direct write: an edit of the rows on screen, not part of the sync run's snapshot. During a reload it applies to the kept rows, and the reload's replacement of every row waits for the run's next transaction.
collection#
Collection<T, TKey, any, any, any>
commit#
(signal?) => SyncAppliedReceipt
Commit the active sync transaction in FIFO order. Core accepts it at once, and an accepted transaction always applies. Returns true when its writes are visible, or a receipt that resolves when they become visible. While an optimistic transaction is persisting, it becomes visible when that transaction settles, together with the drop of its optimistic state. A signal that is already aborted abandons the transaction before acceptance, and the receipt rejects with an error named AbortError. Aborting after acceptance has no effect.
fail#
(error) => void
The sync adapter stopped. Before the first ready the status becomes error and preload() rejects with error. After it, the rows stay, the status stays ready, and the node's error holds the cause until a reload. A second fail() in the same sync run does nothing. While the sync adapter retries, call nothing or reportError().
invalidateLoadedSubsets#
() => void
Report that rows this adapter serves for loaded subsets may have shifted between served pages, after a refetch that the adapter started on its own has applied. Each ordered live query then re-establishes its window with a bounded repair from the start of its order. Calls in one turn are coalesced. Do not call it for results that answer a loadSubset call.
markReady#
() => void
Signal that a usable initial snapshot is available for this attempt.
metadata?#
SyncMetadataApi<TKey>
reportError#
(error) => void
Report a problem after the first ready while the sync adapter keeps trying. It shows as the node's failureReason; the status and rows do not change. Throws before the first ready and after fail().
reportHealthy#
() => void
Sync works again: clears a failureReason. With nothing to clear it does nothing, so it can follow every commit. Throws before the first ready and after fail().
truncate#
(options?) => void
Replace the synced rows. By default the replacement also marks the Collection ready. Set markReady:false to publish without changing status, for example when confirming a committed write from a closed source. The last truncate in a transaction supplies its readiness intent.
write#
(message) => void
Returns#
| void | CleanupFn | SyncConfigRes