Defined in: PowerSyncTransactor.ts:54
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.promise
// 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.promise
The transaction containing mutations to apply
new PowerSyncTransactor(options): PowerSyncTransactor;
new PowerSyncTransactor(options): PowerSyncTransactor;
Defined in: PowerSyncTransactor.ts:58
PowerSyncTransactor
database: AbstractPowerSyncDatabase;
database: AbstractPowerSyncDatabase;
Defined in: PowerSyncTransactor.ts:55
pendingOperationStore: PendingOperationStore;
pendingOperationStore: PendingOperationStore;
Defined in: PowerSyncTransactor.ts:56
applyTransaction(transaction): Promise<void>;
applyTransaction(transaction): Promise<void>;
Defined in: PowerSyncTransactor.ts:66
Persists a Transaction to the PowerSync SQLite database.
Transaction<any>
Promise<void>
protected getMutationCollectionMeta(mutation): PowerSyncCollectionMeta<any>;
protected getMutationCollectionMeta(mutation): PowerSyncCollectionMeta<any>;
Defined in: PowerSyncTransactor.ts:297
PendingMutation<any>
protected handleDelete(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
protected handleDelete(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
Defined in: PowerSyncTransactor.ts:223
PendingMutation<any>
LockContext
boolean = false
Promise<PendingOperation | null>
protected handleInsert(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
protected handleInsert(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
Defined in: PowerSyncTransactor.ts:152
PendingMutation<any>
LockContext
boolean = false
Promise<PendingOperation | null>
protected handleOperationWithCompletion(
mutation,
context,
waitForCompletion,
handler): Promise<PendingOperation | null>;
protected handleOperationWithCompletion(
mutation,
context,
waitForCompletion,
handler): Promise<PendingOperation | null>;
Defined in: PowerSyncTransactor.ts:266
Helper function which wraps a persistence operation by:
PendingMutation<any>
LockContext
boolean
(tableName, mutation, serializeValue) => Promise<void>
Promise<PendingOperation | null>
protected handleUpdate(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
protected handleUpdate(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
Defined in: PowerSyncTransactor.ts:188
PendingMutation<any>
LockContext
boolean = false
Promise<PendingOperation | null>
protected processMutationMetadata(mutation): string | null;
protected processMutationMetadata(mutation): string | null;
Defined in: PowerSyncTransactor.ts:316
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.
