Defined in: PowerSyncTransactor.ts:55
Applies mutations to the PowerSync database. This method is called automatically by the collection's insert, update, and delete operations. You typically don't need to call this directly unless you have special transaction requirements.
// Create a collection
const collection = createCollection(
powerSyncCollectionOptions<Document>({
database: db,
table: APP_SCHEMA.props.documents,
})
)
const addTx = createTransaction({
autoCommit: false,
mutationFn: async ({ transaction }) => {
await new PowerSyncTransactor({ database: db }).applyTransaction(transaction)
},
})
addTx.mutate(() => {
for (let i = 0; i < 5; i++) {
collection.insert({ id: randomUUID(), name: `tx-${i}` })
}
})
await addTx.commit()
await addTx.isPersisted.promiseThe transaction containing mutations to apply
new PowerSyncTransactor(options): PowerSyncTransactor;Defined in: PowerSyncTransactor.ts:59
PowerSyncTransactor
database: CommonPowerSyncDatabase;Defined in: PowerSyncTransactor.ts:56
pendingOperationStore: PendingOperationStore;Defined in: PowerSyncTransactor.ts:57
applyTransaction(transaction): Promise<void>;Defined in: PowerSyncTransactor.ts:67
Persists a Transaction to the PowerSync SQLite database.
Transaction<any>
Promise<void>
protected getMutationCollectionMeta(mutation): PowerSyncCollectionMeta<any>;Defined in: PowerSyncTransactor.ts:340
PendingMutation<any>
protected handleDelete(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;Defined in: PowerSyncTransactor.ts:258
PendingMutation<any>
LockContext
boolean = false
Promise<PendingOperation | null>
protected handleInsert(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;Defined in: PowerSyncTransactor.ts:180
PendingMutation<any>
LockContext
boolean = false
Promise<PendingOperation | null>
protected handleOperationWithCompletion(
mutation,
context,
waitForCompletion,
handler): Promise<PendingOperation | null>;Defined in: PowerSyncTransactor.ts:301
Helper function which wraps a persistence operation by:
PendingMutation<any>
LockContext
boolean
(tableName, mutation, serializeValue) => Promise<false | void>
Promise<PendingOperation | null>
protected handleUpdate(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;Defined in: PowerSyncTransactor.ts:216
PendingMutation<any>
LockContext
boolean = false
Promise<PendingOperation | null>
protected processMutationMetadata(mutation): string | null;Defined in: PowerSyncTransactor.ts:359
Processes collection mutation metadata for persistence to the database. We only support storing string metadata.
PendingMutation<any>
string | null
null if no metadata should be stored.