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:294
PendingMutation<any>
protected handleDelete(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
protected handleDelete(
mutation,
context,
waitForCompletion): Promise<PendingOperation | null>;
Defined in: PowerSyncTransactor.ts:221
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:263
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:187
PendingMutation<any>
LockContext
boolean = false
Promise<PendingOperation | null>
protected processMutationMetadata(mutation): string | null;
protected processMutationMetadata(mutation): string | null;
Defined in: PowerSyncTransactor.ts:313
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.
