diff --git a/src/adapter/admin/transaction.mjs b/src/adapter/admin/transaction.mjs index a6f2b3f..c63cbf5 100644 --- a/src/adapter/admin/transaction.mjs +++ b/src/adapter/admin/transaction.mjs @@ -18,7 +18,7 @@ export const transaction = (db, options) => { return { read: (readCallback) => { return { - write: (writeCallback) => + write: async (writeCallback) => db[firestoreSymbol]().runTransaction(async (firebaseTransaction) => { const readResult = await readCallback( transactionReadHelpers(db, firebaseTransaction), diff --git a/src/adapter/web/transaction.mjs b/src/adapter/web/transaction.mjs index 5c464ce..f435c44 100644 --- a/src/adapter/web/transaction.mjs +++ b/src/adapter/web/transaction.mjs @@ -19,7 +19,7 @@ export const transaction = (db, options) => { return { read: (readCallback) => { return { - write: (writeCallback) => + write: async (writeCallback) => runTransaction(db[firestoreSymbol](), async (firebaseTransaction) => { const readResult = await readCallback( transactionReadHelpers(db, firebaseTransaction), diff --git a/src/types/transaction.ts b/src/types/transaction.ts index 9e29419..325dc6f 100644 --- a/src/types/transaction.ts +++ b/src/types/transaction.ts @@ -255,7 +255,7 @@ export namespace TypesaurusTransaction { > { write: ( callback: WriteFunction, - ) => WriteDocsToDocs; + ) => Promise>; } /**