@ts-transactional/core 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/transaction.adapter.d.ts +5 -2
- package/dist/adapters/transaction.adapter.js +4 -1
- package/dist/adapters/transaction.adapter.js.map +1 -1
- package/dist/manager/transaction.manager.d.ts +3 -1
- package/dist/manager/transaction.manager.js +249 -28
- package/dist/manager/transaction.manager.js.map +1 -1
- package/dist/types/transaction.types.d.ts +14 -1
- package/dist/types/transaction.types.js +9 -1
- package/dist/types/transaction.types.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,11 +4,14 @@ export type TransactionAdapter<SourceClass extends DataSourceClass, Transaction
|
|
|
4
4
|
beginTransaction: (dataSource: InstanceType<SourceClass>, transactionArgs: TransactionalBeginTransactionArgs) => Promise<Transaction>;
|
|
5
5
|
commit: (transaction: Transaction) => Promise<void>;
|
|
6
6
|
rollback: (transaction: Transaction) => Promise<void>;
|
|
7
|
+
beginNested?: (dataSource: InstanceType<SourceClass>, parentTransaction: Transaction, transactionArgs: TransactionalBeginTransactionArgs) => Promise<Transaction>;
|
|
8
|
+
releaseNested?: (transaction: Transaction) => Promise<void>;
|
|
9
|
+
rollbackNested?: (transaction: Transaction) => Promise<void>;
|
|
7
10
|
};
|
|
8
11
|
export declare class TransactionAdapterFactory {
|
|
9
12
|
static create<SourceClass extends DataSourceClass, Transaction>(adapter: TransactionAdapter<SourceClass, Transaction> & {
|
|
10
|
-
initializer?: () => void
|
|
13
|
+
initializer?: () => void | Promise<void>;
|
|
11
14
|
}): TransactionAdapter<SourceClass, Transaction> & {
|
|
12
|
-
initializer?: () => void
|
|
15
|
+
initializer?: () => void | Promise<void>;
|
|
13
16
|
};
|
|
14
17
|
}
|
|
@@ -3,7 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TransactionAdapterFactory = void 0;
|
|
4
4
|
class TransactionAdapterFactory {
|
|
5
5
|
static create(adapter) {
|
|
6
|
-
adapter?.initializer?.();
|
|
6
|
+
const ret = adapter?.initializer?.();
|
|
7
|
+
if (ret && typeof ret.then === 'function') {
|
|
8
|
+
void ret.catch(() => { });
|
|
9
|
+
}
|
|
7
10
|
return adapter;
|
|
8
11
|
}
|
|
9
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.adapter.js","sourceRoot":"","sources":["../../src/adapters/transaction.adapter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"transaction.adapter.js","sourceRoot":"","sources":["../../src/adapters/transaction.adapter.ts"],"names":[],"mappings":";;;AA2BA,MAAa,yBAAyB;IACpC,MAAM,CAAC,MAAM,CACX,OAEC;QAED,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,EAAE,CAAA;QACpC,IAAI,GAAG,IAAI,OAAQ,GAAqB,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAE7D,KAAM,GAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AAbD,8DAaC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DataSourceObject, TransactionalOptions, TransactionalStore } from '../types/transaction.types';
|
|
1
|
+
import { DataSourceObject, TransactionLifecycleCallback, TransactionalOptions, TransactionalStore } from '../types/transaction.types';
|
|
2
2
|
export declare class TransactionManager {
|
|
3
3
|
private static defaultTransactionOptions;
|
|
4
4
|
private static asyncLocalStorage;
|
|
@@ -12,6 +12,8 @@ export declare class TransactionManager {
|
|
|
12
12
|
static addDataSource(dataSource: DataSourceObject): void;
|
|
13
13
|
static getDataSource(dataSourceKey?: any): DataSourceObject;
|
|
14
14
|
static getAsyncLocalStorageTransactionStore(): TransactionalStore;
|
|
15
|
+
static registerAfterCommit(callback: TransactionLifecycleCallback): void;
|
|
16
|
+
static registerAfterRollback(callback: TransactionLifecycleCallback): void;
|
|
15
17
|
static exec<const F extends (...args: any[]) => Promise<any>>(method: F, transactionOptions?: TransactionalOptions): Promise<any>;
|
|
16
18
|
static execTransaction({ transactionOptions, targetMethodInfo, }: {
|
|
17
19
|
transactionOptions?: TransactionalOptions;
|
|
@@ -4,6 +4,11 @@ exports.TransactionManager = void 0;
|
|
|
4
4
|
const async_hooks_1 = require("async_hooks");
|
|
5
5
|
const transaction_errors_1 = require("../errors/transaction.errors");
|
|
6
6
|
const transaction_types_1 = require("../types/transaction.types");
|
|
7
|
+
const debug = (...args) => {
|
|
8
|
+
if (process.env.TS_TRANSACTIONAL_DEBUG === '1') {
|
|
9
|
+
console.log(...args);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
7
12
|
class TransactionManager {
|
|
8
13
|
static defaultTransactionOptions = {
|
|
9
14
|
propagation: transaction_types_1.Propagation.REQUIRED,
|
|
@@ -37,6 +42,14 @@ class TransactionManager {
|
|
|
37
42
|
}
|
|
38
43
|
static addDataSource(dataSource) {
|
|
39
44
|
dataSource.key ??= this.getDataSourceKey(dataSource.key || dataSource.source);
|
|
45
|
+
if (this.dataSources.has(dataSource.key)) {
|
|
46
|
+
const existing = this.dataSources.get(dataSource.key);
|
|
47
|
+
if (existing?.source === dataSource.source) {
|
|
48
|
+
debug('addDataSource: skip duplicate', dataSource.key);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
debug('addDataSource: overwrite different source for same key', dataSource.key);
|
|
52
|
+
}
|
|
40
53
|
this.dataSources.set(dataSource.key, dataSource);
|
|
41
54
|
if (!this.primaryDataSource || dataSource.primary) {
|
|
42
55
|
this.primaryDataSource = dataSource;
|
|
@@ -54,8 +67,23 @@ class TransactionManager {
|
|
|
54
67
|
return dataSource;
|
|
55
68
|
}
|
|
56
69
|
static getAsyncLocalStorageTransactionStore() {
|
|
57
|
-
|
|
58
|
-
|
|
70
|
+
return Object.assign({}, this.asyncLocalStorage.getStore() || {});
|
|
71
|
+
}
|
|
72
|
+
static registerAfterCommit(callback) {
|
|
73
|
+
const raw = this.asyncLocalStorage.getStore();
|
|
74
|
+
if (!raw || !raw.transaction) {
|
|
75
|
+
void Promise.resolve().then(callback);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
raw.afterCommitCallbacks ??= [];
|
|
79
|
+
raw.afterCommitCallbacks.push(callback);
|
|
80
|
+
}
|
|
81
|
+
static registerAfterRollback(callback) {
|
|
82
|
+
const raw = this.asyncLocalStorage.getStore();
|
|
83
|
+
if (!raw || !raw.transaction)
|
|
84
|
+
return;
|
|
85
|
+
raw.afterRollbackCallbacks ??= [];
|
|
86
|
+
raw.afterRollbackCallbacks.push(callback);
|
|
59
87
|
}
|
|
60
88
|
static async exec(method, transactionOptions) {
|
|
61
89
|
return this.execTransaction({
|
|
@@ -66,78 +94,271 @@ class TransactionManager {
|
|
|
66
94
|
});
|
|
67
95
|
}
|
|
68
96
|
static async execTransaction({ transactionOptions = {}, targetMethodInfo, }) {
|
|
69
|
-
const { propagation = this.defaultTransactionOptions.propagation || transaction_types_1.Propagation.SUPPORTS, readOnly, autocommit, isolationLevel, dataSourceKey, } = transactionOptions;
|
|
70
|
-
const store =
|
|
97
|
+
const { propagation = this.defaultTransactionOptions.propagation || transaction_types_1.Propagation.SUPPORTS, readOnly, autocommit, isolationLevel, dataSourceKey, timeout, rollbackFor, noRollbackFor, } = transactionOptions;
|
|
98
|
+
const store = Object.assign({}, this.asyncLocalStorage.getStore() || {});
|
|
71
99
|
const dataSource = TransactionManager.getDataSource(dataSourceKey);
|
|
72
100
|
const transactionAdapter = dataSource.transactionAdapter;
|
|
73
|
-
let isNewTransaction = false;
|
|
74
101
|
const beforeTransaction = store?.transaction;
|
|
75
|
-
const
|
|
102
|
+
const beforeTransactionID = store?.transactionID;
|
|
103
|
+
const beforeAdapter = store?.adapter;
|
|
104
|
+
const beforeAfterCommit = store?.afterCommitCallbacks;
|
|
105
|
+
const beforeAfterRollback = store?.afterRollbackCallbacks;
|
|
106
|
+
let mode = 'noTransaction';
|
|
107
|
+
const beginTopLevel = async () => {
|
|
76
108
|
store.transactionID = Date.now() + '';
|
|
77
|
-
|
|
109
|
+
debug('beginTransaction', store.transactionID);
|
|
78
110
|
store.adapter = transactionAdapter;
|
|
79
111
|
store.transaction = await transactionAdapter.beginTransaction(dataSource.source, {
|
|
80
112
|
isolationLevel,
|
|
113
|
+
autocommit,
|
|
114
|
+
readOnly,
|
|
81
115
|
});
|
|
82
|
-
|
|
116
|
+
store.afterCommitCallbacks = [];
|
|
117
|
+
store.afterRollbackCallbacks = [];
|
|
118
|
+
mode = 'newTopLevel';
|
|
119
|
+
};
|
|
120
|
+
const beginNested = async () => {
|
|
121
|
+
if (!transactionAdapter.beginNested) {
|
|
122
|
+
throw new transaction_errors_1.TransactionPropagationError({
|
|
123
|
+
message: 'NESTED propagation requires adapter.beginNested support',
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
store.transactionID = (beforeTransactionID || '') + '/sp-' + Date.now();
|
|
127
|
+
debug('beginNested', store.transactionID);
|
|
128
|
+
store.adapter = transactionAdapter;
|
|
129
|
+
store.transaction = await transactionAdapter.beginNested(dataSource.source, beforeTransaction, {
|
|
130
|
+
isolationLevel,
|
|
131
|
+
autocommit,
|
|
132
|
+
readOnly,
|
|
133
|
+
});
|
|
134
|
+
store.afterCommitCallbacks = [];
|
|
135
|
+
store.afterRollbackCallbacks = [];
|
|
136
|
+
mode = 'nestedSavepoint';
|
|
83
137
|
};
|
|
84
138
|
switch (propagation) {
|
|
85
139
|
case transaction_types_1.Propagation.REQUIRED:
|
|
86
|
-
if (!
|
|
87
|
-
await
|
|
140
|
+
if (!beforeTransaction) {
|
|
141
|
+
await beginTopLevel();
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
mode = 'joinExisting';
|
|
88
145
|
}
|
|
89
146
|
break;
|
|
90
147
|
case transaction_types_1.Propagation.SUPPORTS:
|
|
91
|
-
if (
|
|
92
|
-
|
|
148
|
+
if (beforeTransaction) {
|
|
149
|
+
mode = 'joinExisting';
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
mode = 'noTransaction';
|
|
153
|
+
debug('Executing without transaction');
|
|
93
154
|
}
|
|
94
155
|
break;
|
|
95
156
|
case transaction_types_1.Propagation.MANDATORY:
|
|
96
|
-
if (!
|
|
157
|
+
if (!beforeTransaction) {
|
|
97
158
|
throw new transaction_errors_1.TransactionPropagationError({ message: 'No existing transaction found for propagation MANDATORY' });
|
|
98
159
|
}
|
|
160
|
+
mode = 'joinExisting';
|
|
99
161
|
break;
|
|
100
162
|
case transaction_types_1.Propagation.REQUIRES_NEW:
|
|
101
|
-
|
|
163
|
+
store.transaction = undefined;
|
|
164
|
+
store.transactionID = undefined;
|
|
165
|
+
store.adapter = undefined;
|
|
166
|
+
await beginTopLevel();
|
|
102
167
|
break;
|
|
103
168
|
case transaction_types_1.Propagation.NOT_SUPPORTED:
|
|
104
|
-
if (
|
|
105
|
-
store.transaction =
|
|
106
|
-
|
|
169
|
+
if (beforeTransaction) {
|
|
170
|
+
store.transaction = undefined;
|
|
171
|
+
store.transactionID = undefined;
|
|
172
|
+
store.adapter = undefined;
|
|
173
|
+
mode = 'suspended';
|
|
174
|
+
debug('Suspending current transaction');
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
mode = 'noTransaction';
|
|
107
178
|
}
|
|
108
179
|
break;
|
|
109
180
|
case transaction_types_1.Propagation.NEVER:
|
|
110
|
-
if (
|
|
181
|
+
if (beforeTransaction) {
|
|
111
182
|
throw new transaction_errors_1.TransactionPropagationError({ message: 'Transaction present for propagation NEVER' });
|
|
112
183
|
}
|
|
184
|
+
mode = 'noTransaction';
|
|
185
|
+
break;
|
|
186
|
+
case transaction_types_1.Propagation.NESTED:
|
|
187
|
+
if (!beforeTransaction) {
|
|
188
|
+
await beginTopLevel();
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
await beginNested();
|
|
192
|
+
}
|
|
113
193
|
break;
|
|
114
194
|
default:
|
|
115
195
|
throw new transaction_errors_1.TransactionPropagationError({ message: `Unsupported propagation type: ${propagation}` });
|
|
116
196
|
}
|
|
117
197
|
return this.asyncLocalStorage.run(store, async () => {
|
|
118
|
-
|
|
119
|
-
|
|
198
|
+
const currentTransaction = store.transaction;
|
|
199
|
+
const currentAdapter = store.adapter;
|
|
200
|
+
const currentCallbacks = {
|
|
201
|
+
afterCommit: store.afterCommitCallbacks,
|
|
202
|
+
afterRollback: store.afterRollbackCallbacks,
|
|
203
|
+
};
|
|
204
|
+
const stackAnchor = new Error('TransactionManager.execTransaction');
|
|
205
|
+
const invoke = async () => {
|
|
206
|
+
return targetMethodInfo.this
|
|
120
207
|
? await targetMethodInfo.method.apply(targetMethodInfo.this, targetMethodInfo.methodArgs || [])
|
|
121
208
|
: await targetMethodInfo.method(...(targetMethodInfo.methodArgs || []));
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
209
|
+
};
|
|
210
|
+
const runWithTimeout = async () => {
|
|
211
|
+
if (!timeout || timeout <= 0)
|
|
212
|
+
return invoke();
|
|
213
|
+
let timer;
|
|
214
|
+
try {
|
|
215
|
+
return await Promise.race([
|
|
216
|
+
invoke(),
|
|
217
|
+
new Promise((_, reject) => {
|
|
218
|
+
timer = setTimeout(() => reject(new transaction_types_1.TransactionTimeoutError(timeout)), timeout);
|
|
219
|
+
}),
|
|
220
|
+
]);
|
|
221
|
+
}
|
|
222
|
+
finally {
|
|
223
|
+
if (timer)
|
|
224
|
+
clearTimeout(timer);
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
try {
|
|
228
|
+
const result = await runWithTimeout();
|
|
229
|
+
if (mode === 'newTopLevel') {
|
|
230
|
+
debug('commit', store.transactionID, !!store.transaction);
|
|
125
231
|
store.transaction = beforeTransaction;
|
|
126
|
-
|
|
232
|
+
store.transactionID = beforeTransactionID;
|
|
233
|
+
store.adapter = beforeAdapter;
|
|
234
|
+
store.afterCommitCallbacks = beforeAfterCommit;
|
|
235
|
+
store.afterRollbackCallbacks = beforeAfterRollback;
|
|
236
|
+
await currentAdapter?.commit(currentTransaction);
|
|
237
|
+
await fireCallbacks(currentCallbacks.afterCommit);
|
|
238
|
+
}
|
|
239
|
+
else if (mode === 'nestedSavepoint') {
|
|
240
|
+
debug('release savepoint', store.transactionID);
|
|
241
|
+
store.transaction = beforeTransaction;
|
|
242
|
+
store.transactionID = beforeTransactionID;
|
|
243
|
+
store.adapter = beforeAdapter;
|
|
244
|
+
store.afterCommitCallbacks = beforeAfterCommit;
|
|
245
|
+
store.afterRollbackCallbacks = beforeAfterRollback;
|
|
246
|
+
if (currentAdapter?.releaseNested) {
|
|
247
|
+
await currentAdapter.releaseNested(currentTransaction);
|
|
248
|
+
}
|
|
249
|
+
if (currentCallbacks.afterCommit && currentCallbacks.afterCommit.length > 0) {
|
|
250
|
+
;
|
|
251
|
+
(beforeAfterCommit ?? (store.afterCommitCallbacks = [])).push(...currentCallbacks.afterCommit);
|
|
252
|
+
}
|
|
127
253
|
}
|
|
128
254
|
return result;
|
|
129
255
|
}
|
|
130
256
|
catch (error) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
257
|
+
const shouldRollback = decideRollback(error, rollbackFor, noRollbackFor);
|
|
258
|
+
if (mode === 'newTopLevel') {
|
|
259
|
+
store.transaction = beforeTransaction;
|
|
260
|
+
store.transactionID = beforeTransactionID;
|
|
261
|
+
store.adapter = beforeAdapter;
|
|
262
|
+
store.afterCommitCallbacks = beforeAfterCommit;
|
|
263
|
+
store.afterRollbackCallbacks = beforeAfterRollback;
|
|
264
|
+
if (shouldRollback) {
|
|
265
|
+
debug('rollback', store.transactionID, !!store.transaction);
|
|
266
|
+
await currentAdapter?.rollback(currentTransaction);
|
|
267
|
+
await fireCallbacks(currentCallbacks.afterRollback);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
debug('commit (noRollbackFor matched)', store.transactionID);
|
|
271
|
+
await currentAdapter?.commit(currentTransaction);
|
|
272
|
+
await fireCallbacks(currentCallbacks.afterCommit);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
else if (mode === 'nestedSavepoint') {
|
|
134
276
|
store.transaction = beforeTransaction;
|
|
135
|
-
|
|
277
|
+
store.transactionID = beforeTransactionID;
|
|
278
|
+
store.adapter = beforeAdapter;
|
|
279
|
+
store.afterCommitCallbacks = beforeAfterCommit;
|
|
280
|
+
store.afterRollbackCallbacks = beforeAfterRollback;
|
|
281
|
+
if (shouldRollback) {
|
|
282
|
+
debug('rollback savepoint', store.transactionID);
|
|
283
|
+
if (currentAdapter?.rollbackNested) {
|
|
284
|
+
await currentAdapter.rollbackNested(currentTransaction);
|
|
285
|
+
}
|
|
286
|
+
await fireCallbacks(currentCallbacks.afterRollback);
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
debug('release savepoint (noRollbackFor matched)', store.transactionID);
|
|
290
|
+
if (currentAdapter?.releaseNested) {
|
|
291
|
+
await currentAdapter.releaseNested(currentTransaction);
|
|
292
|
+
}
|
|
293
|
+
if (currentCallbacks.afterCommit && currentCallbacks.afterCommit.length > 0) {
|
|
294
|
+
;
|
|
295
|
+
(beforeAfterCommit ?? (store.afterCommitCallbacks = [])).push(...currentCallbacks.afterCommit);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
136
298
|
}
|
|
299
|
+
attachAnchor(error, stackAnchor);
|
|
137
300
|
throw error;
|
|
138
301
|
}
|
|
302
|
+
finally {
|
|
303
|
+
if (mode === 'newTopLevel' || mode === 'nestedSavepoint') {
|
|
304
|
+
debug('endTransaction', store.transactionID, !!beforeTransaction);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
139
307
|
});
|
|
140
308
|
}
|
|
141
309
|
}
|
|
142
310
|
exports.TransactionManager = TransactionManager;
|
|
311
|
+
const fireCallbacks = async (callbacks) => {
|
|
312
|
+
if (!callbacks || callbacks.length === 0)
|
|
313
|
+
return;
|
|
314
|
+
for (const cb of callbacks) {
|
|
315
|
+
try {
|
|
316
|
+
await cb();
|
|
317
|
+
}
|
|
318
|
+
catch (e) {
|
|
319
|
+
debug('lifecycle callback error', e);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
const matchesAny = (error, list) => {
|
|
324
|
+
if (!list || list.length === 0)
|
|
325
|
+
return false;
|
|
326
|
+
for (const entry of list) {
|
|
327
|
+
if (typeof entry === 'function') {
|
|
328
|
+
const looksLikeClass = entry.prototype && entry.prototype instanceof Error;
|
|
329
|
+
if (looksLikeClass) {
|
|
330
|
+
if (error instanceof entry)
|
|
331
|
+
return true;
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
try {
|
|
335
|
+
if (entry(error))
|
|
336
|
+
return true;
|
|
337
|
+
}
|
|
338
|
+
catch {
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return false;
|
|
344
|
+
};
|
|
345
|
+
const decideRollback = (error, rollbackFor, noRollbackFor) => {
|
|
346
|
+
if (matchesAny(error, noRollbackFor))
|
|
347
|
+
return false;
|
|
348
|
+
if (rollbackFor && rollbackFor.length > 0) {
|
|
349
|
+
return matchesAny(error, rollbackFor);
|
|
350
|
+
}
|
|
351
|
+
return true;
|
|
352
|
+
};
|
|
353
|
+
const attachAnchor = (error, anchor) => {
|
|
354
|
+
if (!error || typeof error !== 'object')
|
|
355
|
+
return;
|
|
356
|
+
const e = error;
|
|
357
|
+
if (e.__tsTransactionalAnchored)
|
|
358
|
+
return;
|
|
359
|
+
if (typeof e.stack === 'string' && typeof anchor.stack === 'string') {
|
|
360
|
+
e.stack += '\n --- via ' + anchor.stack.split('\n').slice(1).join('\n').trim();
|
|
361
|
+
}
|
|
362
|
+
e.__tsTransactionalAnchored = true;
|
|
363
|
+
};
|
|
143
364
|
//# sourceMappingURL=transaction.manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.manager.js","sourceRoot":"","sources":["../../src/manager/transaction.manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transaction.manager.js","sourceRoot":"","sources":["../../src/manager/transaction.manager.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAG/C,qEAAmG;AACnG,kEASmC;AAEnC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,EAAE,CAAC;QAE/C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,CAAC;AACH,CAAC,CAAA;AAGD,MAAa,kBAAkB;IACrB,MAAM,CAAC,yBAAyB,GAAkC;QACxE,WAAW,EAAE,+BAAW,CAAC,QAAQ;KAClC,CAAA;IAEO,MAAM,CAAC,iBAAiB,GAAG,IAAI,+BAAiB,EAAsB,CAAA;IACtE,MAAM,CAAC,QAAQ,GAAsC,IAAI,GAAG,EAAE,CAAA;IAE9D,MAAM,CAAC,YAAY,GAA+B,IAAI,GAAG,EAAE,CAAA;IAC3D,MAAM,CAAC,kBAAkB,CAAkB;IAE5C,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAEM,MAAM,KAAK,iBAAiB;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAChC,CAAC;IACO,MAAM,KAAK,iBAAiB,CAAC,UAA4B;QAC/D,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAA;IACtC,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QAChD,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAA;aAC1B,IAAI,OAAO,aAAa,KAAK,QAAQ;YAAE,OAAO,aAAa,CAAA;aAC3D,CAAC;YACJ,IAAI,aAAa,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3C,OAAO,aAAa,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,aAAa,EAAE,WAAW,IAAI,aAAa,CAAA;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAA4B;QAC/C,UAAU,CAAC,GAAG,KAAK,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QAE7E,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACrD,IAAI,QAAQ,EAAE,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC3C,KAAK,CAAC,+BAA+B,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;gBACtD,OAAM;YACR,CAAC;YACD,KAAK,CAAC,wDAAwD,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;QACjF,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAClD,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAA;QACrC,CAAC;QAED,IAAI,UAAU,EAAE,kBAAkB,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,aAAmB;QACtC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAEpD,MAAM,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEhG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,4CAAuB,EAAE,CAAA;QACrC,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAGD,MAAM,CAAC,oCAAoC;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACnE,CAAC;IAMD,MAAM,CAAC,mBAAmB,CAAC,QAAsC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAA;QAC7C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YAE7B,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QACD,GAAG,CAAC,oBAAoB,KAAK,EAAE,CAAA;QAC/B,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACzC,CAAC;IAMD,MAAM,CAAC,qBAAqB,CAAC,QAAsC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAA;QAC7C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW;YAAE,OAAM;QACpC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CAAA;QACjC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,MAAS,EACT,kBAAyC;QAEzC,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,kBAAkB,EAAE,kBAAkB;YACtC,gBAAgB,EAAE;gBAChB,MAAM,EAAE,MAAM;aACf;SACF,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAC3B,kBAAkB,GAAG,EAAE,EACvB,gBAAgB,GAQjB;QACC,MAAM,EACJ,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,IAAI,+BAAW,CAAC,QAAQ,EAChF,QAAQ,EACR,UAAU,EACV,cAAc,EACd,aAAa,EACb,OAAO,EACP,WAAW,EACX,aAAa,GACd,GAAG,kBAAkB,CAAA;QAGtB,MAAM,KAAK,GAAuB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAE5F,MAAM,UAAU,GAAG,kBAAkB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;QAClE,MAAM,kBAAkB,GAAG,UAAU,CAAC,kBAAmB,CAAA;QAEzD,MAAM,iBAAiB,GAAG,KAAK,EAAE,WAAW,CAAA;QAC5C,MAAM,mBAAmB,GAAG,KAAK,EAAE,aAAa,CAAA;QAChD,MAAM,aAAa,GAAG,KAAK,EAAE,OAAO,CAAA;QACpC,MAAM,iBAAiB,GAAG,KAAK,EAAE,oBAAoB,CAAA;QACrD,MAAM,mBAAmB,GAAG,KAAK,EAAE,sBAAsB,CAAA;QAEzD,IAAI,IAAI,GAKU,eAAe,CAAA;QAEjC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;YAC/B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAA;YACrC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;YAC9C,KAAK,CAAC,OAAO,GAAG,kBAAkB,CAAA;YAClC,KAAK,CAAC,WAAW,GAAG,MAAM,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE;gBAC/E,cAAc;gBACd,UAAU;gBACV,QAAQ;aACT,CAAC,CAAA;YAEF,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAA;YAC/B,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAA;YACjC,IAAI,GAAG,aAAa,CAAA;QACtB,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,IAAI,gDAA2B,CAAC;oBACpC,OAAO,EAAE,yDAAyD;iBACnE,CAAC,CAAA;YACJ,CAAC;YACD,KAAK,CAAC,aAAa,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACvE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;YACzC,KAAK,CAAC,OAAO,GAAG,kBAAkB,CAAA;YAClC,KAAK,CAAC,WAAW,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE;gBAC7F,cAAc;gBACd,UAAU;gBACV,QAAQ;aACT,CAAC,CAAA;YAEF,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAA;YAC/B,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAA;YACjC,IAAI,GAAG,iBAAiB,CAAA;QAC1B,CAAC,CAAA;QAED,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,+BAAW,CAAC,QAAQ;gBACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,aAAa,EAAE,CAAA;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,cAAc,CAAA;gBACvB,CAAC;gBACD,MAAK;YACP,KAAK,+BAAW,CAAC,QAAQ;gBACvB,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAI,GAAG,cAAc,CAAA;gBACvB,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,eAAe,CAAA;oBACtB,KAAK,CAAC,+BAA+B,CAAC,CAAA;gBACxC,CAAC;gBACD,MAAK;YACP,KAAK,+BAAW,CAAC,SAAS;gBACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,IAAI,gDAA2B,CAAC,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC,CAAA;gBAC/G,CAAC;gBACD,IAAI,GAAG,cAAc,CAAA;gBACrB,MAAK;YACP,KAAK,+BAAW,CAAC,YAAY;gBAG3B,KAAK,CAAC,WAAW,GAAG,SAAS,CAAA;gBAC7B,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;gBAC/B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;gBACzB,MAAM,aAAa,EAAE,CAAA;gBACrB,MAAK;YACP,KAAK,+BAAW,CAAC,aAAa;gBAC5B,IAAI,iBAAiB,EAAE,CAAC;oBAEtB,KAAK,CAAC,WAAW,GAAG,SAAS,CAAA;oBAC7B,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;oBAC/B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAA;oBACzB,IAAI,GAAG,WAAW,CAAA;oBAClB,KAAK,CAAC,gCAAgC,CAAC,CAAA;gBACzC,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,eAAe,CAAA;gBACxB,CAAC;gBACD,MAAK;YACP,KAAK,+BAAW,CAAC,KAAK;gBACpB,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,IAAI,gDAA2B,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAA;gBACjG,CAAC;gBACD,IAAI,GAAG,eAAe,CAAA;gBACtB,MAAK;YACP,KAAK,+BAAW,CAAC,MAAM;gBACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,aAAa,EAAE,CAAA;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,EAAE,CAAA;gBACrB,CAAC;gBACD,MAAK;YACP;gBACE,MAAM,IAAI,gDAA2B,CAAC,EAAE,OAAO,EAAE,iCAAiC,WAAW,EAAE,EAAE,CAAC,CAAA;QACtG,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAA;YAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAA;YACpC,MAAM,gBAAgB,GAAG;gBACvB,WAAW,EAAE,KAAK,CAAC,oBAAoB;gBACvC,aAAa,EAAE,KAAK,CAAC,sBAAsB;aAC5C,CAAA;YAGD,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YAEnE,MAAM,MAAM,GAAG,KAAK,IAAkB,EAAE;gBACtC,OAAO,gBAAgB,CAAC,IAAI;oBAC1B,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;oBAC/F,CAAC,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAA;YAC3E,CAAC,CAAA;YAED,MAAM,cAAc,GAAG,KAAK,IAAkB,EAAE;gBAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC;oBAAE,OAAO,MAAM,EAAE,CAAA;gBAC7C,IAAI,KAAiC,CAAA;gBACrC,IAAI,CAAC;oBACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;wBACxB,MAAM,EAAE;wBACR,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;4BACxB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,2CAAuB,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;wBACjF,CAAC,CAAC;qBACH,CAAC,CAAA;gBACJ,CAAC;wBAAS,CAAC;oBACT,IAAI,KAAK;wBAAE,YAAY,CAAC,KAAK,CAAC,CAAA;gBAChC,CAAC;YACH,CAAC,CAAA;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;gBAErC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC3B,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;oBAEzD,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAA;oBACrC,KAAK,CAAC,aAAa,GAAG,mBAAmB,CAAA;oBACzC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAA;oBAC7B,KAAK,CAAC,oBAAoB,GAAG,iBAAiB,CAAA;oBAC9C,KAAK,CAAC,sBAAsB,GAAG,mBAAmB,CAAA;oBAClD,MAAM,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAA;oBAChD,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;gBACnD,CAAC;qBAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACtC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;oBAC/C,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAA;oBACrC,KAAK,CAAC,aAAa,GAAG,mBAAmB,CAAA;oBACzC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAA;oBAC7B,KAAK,CAAC,oBAAoB,GAAG,iBAAiB,CAAA;oBAC9C,KAAK,CAAC,sBAAsB,GAAG,mBAAmB,CAAA;oBAClD,IAAI,cAAc,EAAE,aAAa,EAAE,CAAC;wBAClC,MAAM,cAAc,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAA;oBACxD,CAAC;oBAED,IAAI,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5E,CAAC;wBAAA,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;oBACjG,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,CAAA;gBAExE,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;oBAC3B,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAA;oBACrC,KAAK,CAAC,aAAa,GAAG,mBAAmB,CAAA;oBACzC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAA;oBAC7B,KAAK,CAAC,oBAAoB,GAAG,iBAAiB,CAAA;oBAC9C,KAAK,CAAC,sBAAsB,GAAG,mBAAmB,CAAA;oBAClD,IAAI,cAAc,EAAE,CAAC;wBACnB,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;wBAC3D,MAAM,cAAc,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;wBAClD,MAAM,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;oBACrD,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;wBAC5D,MAAM,cAAc,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAA;wBAChD,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;oBACnD,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACtC,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAA;oBACrC,KAAK,CAAC,aAAa,GAAG,mBAAmB,CAAA;oBACzC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAA;oBAC7B,KAAK,CAAC,oBAAoB,GAAG,iBAAiB,CAAA;oBAC9C,KAAK,CAAC,sBAAsB,GAAG,mBAAmB,CAAA;oBAClD,IAAI,cAAc,EAAE,CAAC;wBACnB,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;wBAChD,IAAI,cAAc,EAAE,cAAc,EAAE,CAAC;4BACnC,MAAM,cAAc,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;wBACzD,CAAC;wBACD,MAAM,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;oBACrD,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,2CAA2C,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;wBACvE,IAAI,cAAc,EAAE,aAAa,EAAE,CAAC;4BAClC,MAAM,cAAc,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAA;wBACxD,CAAC;wBACD,IAAI,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5E,CAAC;4BAAA,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;wBACjG,CAAC;oBACH,CAAC;gBACH,CAAC;gBAGD,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;gBAChC,MAAM,KAAK,CAAA;YACb,CAAC;oBAAS,CAAC;gBACT,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACzD,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAA;gBACnE,CAAC;YAEH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;;AAvWH,gDAwWC;AAID,MAAM,aAAa,GAAG,KAAK,EAAE,SAA0C,EAAE,EAAE;IACzE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAChD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,EAAE,CAAA;QACZ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAEX,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CACjB,KAAc,EACd,IAA+D,EACtD,EAAE;IACX,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;YAEhC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,YAAY,KAAK,CAAA;YAC1E,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,KAAK,YAAa,KAAoB;oBAAE,OAAO,IAAI,CAAA;YACzD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,IAAK,KAA2B,CAAC,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAA;gBACtD,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CACrB,KAAc,EACd,WAAsE,EACtE,aAAwE,EAC/D,EAAE;IAEX,IAAI,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,OAAO,KAAK,CAAA;IAElD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,MAAa,EAAE,EAAE;IACrD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAM;IAC/C,MAAM,CAAC,GAAG,KAAgE,CAAA;IAC1E,IAAI,CAAC,CAAC,yBAAyB;QAAE,OAAM;IACvC,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpE,CAAC,CAAC,KAAK,IAAI,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACnF,CAAC;IACD,CAAC,CAAC,yBAAyB,GAAG,IAAI,CAAA;AACpC,CAAC,CAAA"}
|
|
@@ -5,7 +5,8 @@ export declare enum Propagation {
|
|
|
5
5
|
MANDATORY = "MANDATORY",
|
|
6
6
|
REQUIRES_NEW = "REQUIRES_NEW",
|
|
7
7
|
NOT_SUPPORTED = "NOT_SUPPORTED",
|
|
8
|
-
NEVER = "NEVER"
|
|
8
|
+
NEVER = "NEVER",
|
|
9
|
+
NESTED = "NESTED"
|
|
9
10
|
}
|
|
10
11
|
export declare enum ISOLATION_LEVELS {
|
|
11
12
|
READ_UNCOMMITTED = "READ UNCOMMITTED",
|
|
@@ -13,12 +14,17 @@ export declare enum ISOLATION_LEVELS {
|
|
|
13
14
|
REPEATABLE_READ = "REPEATABLE READ",
|
|
14
15
|
SERIALIZABLE = "SERIALIZABLE"
|
|
15
16
|
}
|
|
17
|
+
export type ErrorClass = new (...args: any[]) => Error;
|
|
18
|
+
export type RollbackPredicate = (error: unknown) => boolean;
|
|
16
19
|
export interface TransactionalOptions {
|
|
17
20
|
propagation?: Propagation;
|
|
18
21
|
dataSourceKey?: any;
|
|
19
22
|
isolationLevel?: ISOLATION_LEVELS;
|
|
20
23
|
autocommit?: boolean;
|
|
21
24
|
readOnly?: boolean;
|
|
25
|
+
timeout?: number;
|
|
26
|
+
rollbackFor?: ReadonlyArray<ErrorClass | RollbackPredicate>;
|
|
27
|
+
noRollbackFor?: ReadonlyArray<ErrorClass | RollbackPredicate>;
|
|
22
28
|
}
|
|
23
29
|
export type TransactionalBeginTransactionArgs = Pick<TransactionalOptions, 'isolationLevel' | 'autocommit' | 'readOnly'>;
|
|
24
30
|
export type DataSourceClass = {
|
|
@@ -30,8 +36,15 @@ export type DataSourceObject<T = any> = {
|
|
|
30
36
|
primary?: boolean;
|
|
31
37
|
transactionAdapter?: TransactionAdapter<any>;
|
|
32
38
|
};
|
|
39
|
+
export type TransactionLifecycleCallback = () => void | Promise<void>;
|
|
33
40
|
export type TransactionalStore = {
|
|
34
41
|
transaction?: any;
|
|
35
42
|
adapter?: TransactionAdapter<any>;
|
|
36
43
|
transactionID?: string;
|
|
44
|
+
afterCommitCallbacks?: TransactionLifecycleCallback[];
|
|
45
|
+
afterRollbackCallbacks?: TransactionLifecycleCallback[];
|
|
37
46
|
};
|
|
47
|
+
export declare class TransactionTimeoutError extends Error {
|
|
48
|
+
readonly code = "TRANSACTION_TIMEOUT";
|
|
49
|
+
constructor(timeoutMs: number);
|
|
50
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ISOLATION_LEVELS = exports.Propagation = void 0;
|
|
3
|
+
exports.TransactionTimeoutError = exports.ISOLATION_LEVELS = exports.Propagation = void 0;
|
|
4
4
|
var Propagation;
|
|
5
5
|
(function (Propagation) {
|
|
6
6
|
Propagation["REQUIRED"] = "REQUIRED";
|
|
@@ -9,6 +9,7 @@ var Propagation;
|
|
|
9
9
|
Propagation["REQUIRES_NEW"] = "REQUIRES_NEW";
|
|
10
10
|
Propagation["NOT_SUPPORTED"] = "NOT_SUPPORTED";
|
|
11
11
|
Propagation["NEVER"] = "NEVER";
|
|
12
|
+
Propagation["NESTED"] = "NESTED";
|
|
12
13
|
})(Propagation || (exports.Propagation = Propagation = {}));
|
|
13
14
|
var ISOLATION_LEVELS;
|
|
14
15
|
(function (ISOLATION_LEVELS) {
|
|
@@ -17,4 +18,11 @@ var ISOLATION_LEVELS;
|
|
|
17
18
|
ISOLATION_LEVELS["REPEATABLE_READ"] = "REPEATABLE READ";
|
|
18
19
|
ISOLATION_LEVELS["SERIALIZABLE"] = "SERIALIZABLE";
|
|
19
20
|
})(ISOLATION_LEVELS || (exports.ISOLATION_LEVELS = ISOLATION_LEVELS = {}));
|
|
21
|
+
class TransactionTimeoutError extends Error {
|
|
22
|
+
code = 'TRANSACTION_TIMEOUT';
|
|
23
|
+
constructor(timeoutMs) {
|
|
24
|
+
super(`Transaction exceeded timeout of ${timeoutMs}ms`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.TransactionTimeoutError = TransactionTimeoutError;
|
|
20
28
|
//# sourceMappingURL=transaction.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.types.js","sourceRoot":"","sources":["../../src/types/transaction.types.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,8CAA+B,CAAA;IAC/B,8BAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"transaction.types.js","sourceRoot":"","sources":["../../src/types/transaction.types.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;IACrB,sCAAuB,CAAA;IACvB,4CAA6B,CAAA;IAC7B,8CAA+B,CAAA;IAC/B,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,yDAAqC,CAAA;IACrC,qDAAiC,CAAA;IACjC,uDAAmC,CAAA;IACnC,iDAA6B,CAAA;AAC/B,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAkDD,MAAa,uBAAwB,SAAQ,KAAK;IACvC,IAAI,GAAG,qBAAqB,CAAA;IACrC,YAAY,SAAiB;QAC3B,KAAK,CAAC,mCAAmC,SAAS,IAAI,CAAC,CAAA;IACzD,CAAC;CACF;AALD,0DAKC"}
|