transaction<T> method

Future<T> transaction<T>(
  1. String name,
  2. Future<T> f(
    1. Transaction
    ),
  3. [TransactionOptions? options]
)

Convinience wrapper for createTransaction, TransactionProps.begin, and TransactionProps.commit.

Implementation

Future<T> transaction<T>(
  String name,
  Future<T> Function(Transaction) f, [
  TransactionOptions? options,
]) async {
  final transaction = createTransaction(name, options);
  await transaction.begin();
  final result = await f(transaction);
  await transaction.commit();

  return result;
}