TransactionOperation constructor

TransactionOperation(
  1. TransactionOperationType type,
  2. String repositoryName,
  3. bool canPropagate,
  4. Object executor, {
  5. Transaction? transaction,
  6. TransactionOperation? parentOperation,
})

Implementation

TransactionOperation(
    this.type, this.repositoryName, this.canPropagate, this.executor,
    {Transaction? transaction, TransactionOperation? parentOperation}) {
  var resolvedTransaction =
      resolveTransaction(transaction: transaction, operation: this);
  this.transaction = resolvedTransaction;
  _transactionResolved = true;

  if (parentOperation != null &&
      parentOperation._transactionResolved &&
      identical(parentOperation.transaction, this.transaction)) {
    this.parentOperation = parentOperation;
  } else {
    this.parentOperation = null;
  }

  externalTransaction = identical(resolvedTransaction, transaction);

  transactionRoot =
      resolvedTransaction.isEmpty && !resolvedTransaction.isExecuting;

  resolvedTransaction.addOperation(this);
}