@@ -440,25 +440,18 @@ WriteBatch FirestoreInternal::batch() const {
440
440
return WriteBatch (new WriteBatchInternal (mutable_this (), result));
441
441
}
442
442
443
- Future<void > FirestoreInternal::RunTransaction (TransactionFunction* update,
444
- bool is_lambda) {
443
+ Future<void > FirestoreInternal::RunTransaction (
444
+ std::function<Error(Transaction&, std::string&)> update) {
445
+ auto * lambda_update = new LambdaTransactionFunction (Move (update));
445
446
Env env = GetEnv ();
446
447
Local<Object> transaction_function =
447
- TransactionInternal::Create (env, this , update );
448
+ TransactionInternal::Create (env, this , lambda_update );
448
449
Local<Task> task = env.Call (obj_, kRunTransaction , transaction_function);
449
450
450
451
if (!env.ok ()) return {};
451
452
452
- auto * completion =
453
- static_cast <LambdaTransactionFunction*>(is_lambda ? update : nullptr );
454
453
return promises_->NewFuture <void >(env, AsyncFn::kRunTransaction , task,
455
- completion);
456
- }
457
-
458
- Future<void > FirestoreInternal::RunTransaction (
459
- std::function<Error(Transaction&, std::string&)> update) {
460
- auto * lambda_update = new LambdaTransactionFunction (Move (update));
461
- return RunTransaction (lambda_update, /* is_lambda=*/ true );
454
+ lambda_update);
462
455
}
463
456
464
457
Future<void > FirestoreInternal::DisableNetwork () {
0 commit comments