implement before/afterAllTransactions

This commit is contained in:
Kevin Jahns
2020-08-07 17:47:20 +02:00
parent 68109b033f
commit 6f9a2c9df7
3 changed files with 9 additions and 1 deletions

View File

@@ -337,6 +337,7 @@ const cleanupTransactions = (transactionCleanups, i) => {
}
if (transactionCleanups.length <= i + 1) {
doc._transactionCleanups = []
doc.emit('afterAllTransactions', [doc, transactionCleanups])
} else {
cleanupTransactions(transactionCleanups, i + 1)
}
@@ -360,6 +361,9 @@ export const transact = (doc, f, origin = null, local = true) => {
initialCall = true
doc._transaction = new Transaction(doc, origin, local)
transactionCleanups.push(doc._transaction)
if (transactionCleanups.length === 1) {
doc.emit('beforeAllTransactions', [doc])
}
doc.emit('beforeTransaction', [doc._transaction, doc])
}
try {