@nestjs-transactional/core 1.0.0 → 2.0.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/README.md +14 -0
- package/dist/bootstrap/transactional-methods.bootstrap.d.ts +2 -2
- package/dist/bootstrap/transactional-methods.bootstrap.js +19 -22
- package/dist/bootstrap/transactional-methods.bootstrap.js.map +1 -1
- package/dist/context/transaction-context-view.d.ts +1 -1
- package/dist/context/transaction-context-view.js +3 -7
- package/dist/context/transaction-context-view.js.map +1 -1
- package/dist/context/transaction.context.d.ts +2 -2
- package/dist/context/transaction.context.js +5 -9
- package/dist/context/transaction.context.js.map +1 -1
- package/dist/decorators/inject-decorators.js +6 -12
- package/dist/decorators/inject-decorators.js.map +1 -1
- package/dist/decorators/transactional.decorator.d.ts +1 -1
- package/dist/decorators/transactional.decorator.js +10 -17
- package/dist/decorators/transactional.decorator.js.map +1 -1
- package/dist/index.d.ts +18 -18
- package/dist/index.js +18 -34
- package/dist/index.js.map +1 -1
- package/dist/interceptor/transactional.interceptor.d.ts +1 -1
- package/dist/interceptor/transactional.interceptor.js +12 -15
- package/dist/interceptor/transactional.interceptor.js.map +1 -1
- package/dist/internal/markers.js +1 -4
- package/dist/internal/markers.js.map +1 -1
- package/dist/manager/adapter.registry.d.ts +1 -1
- package/dist/manager/adapter.registry.js +12 -15
- package/dist/manager/adapter.registry.js.map +1 -1
- package/dist/manager/transaction.manager.d.ts +3 -3
- package/dist/manager/transaction.manager.js +38 -41
- package/dist/manager/transaction.manager.js.map +1 -1
- package/dist/module/transactional.module.d.ts +2 -2
- package/dist/module/transactional.module.js +43 -46
- package/dist/module/transactional.module.js.map +1 -1
- package/dist/observability/transaction-observer.d.ts +1 -1
- package/dist/observability/transaction-observer.js +1 -4
- package/dist/observability/transaction-observer.js.map +1 -1
- package/dist/testing/in-memory.adapter.d.ts +3 -3
- package/dist/testing/in-memory.adapter.js +4 -8
- package/dist/testing/in-memory.adapter.js.map +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +1 -17
- package/dist/testing/index.js.map +1 -1
- package/dist/tokens/constants.js +1 -4
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/index.d.ts +2 -2
- package/dist/tokens/index.js +2 -10
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/token-utils.js +5 -11
- package/dist/tokens/token-utils.js.map +1 -1
- package/dist/types/domain-event.js +1 -2
- package/dist/types/errors.js +4 -11
- package/dist/types/errors.js.map +1 -1
- package/dist/types/isolation.js +1 -2
- package/dist/types/propagation.js +2 -5
- package/dist/types/propagation.js.map +1 -1
- package/dist/types/transaction-adapter.d.ts +2 -2
- package/dist/types/transaction-adapter.js +1 -2
- package/dist/types/transaction-handle.js +1 -2
- package/dist/types/transaction-options.d.ts +2 -2
- package/dist/types/transaction-options.js +1 -2
- package/package.json +18 -15
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -6,16 +5,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
7
|
var AdapterRegistry_1;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const common_1 = require("@nestjs/common");
|
|
12
|
-
const errors_1 = require("../types/errors");
|
|
8
|
+
import { Injectable } from '@nestjs/common';
|
|
9
|
+
import { IllegalTransactionStateError, TransactionAdapterNotFoundError } from '../types/errors.js';
|
|
13
10
|
/**
|
|
14
11
|
* DI token for the {@link AdapterRegistry}. Consumers who need to register
|
|
15
12
|
* adapters manually (for example, integration tests or custom modules)
|
|
16
13
|
* can inject this token and call {@link AdapterRegistry.register}.
|
|
17
14
|
*/
|
|
18
|
-
|
|
15
|
+
export const ADAPTER_REGISTRY = Symbol('ADAPTER_REGISTRY');
|
|
19
16
|
/**
|
|
20
17
|
* In-memory registry of {@link TransactionAdapter} instances, keyed by
|
|
21
18
|
* `(adapterName, instanceName)`. Each adapter type (e.g. `'typeorm'`) may
|
|
@@ -60,7 +57,7 @@ let AdapterRegistry = AdapterRegistry_1 = class AdapterRegistry {
|
|
|
60
57
|
get(adapterName, instanceName) {
|
|
61
58
|
const adapter = this.adapters.get(AdapterRegistry_1.keyFor(adapterName, instanceName));
|
|
62
59
|
if (adapter === undefined) {
|
|
63
|
-
throw new
|
|
60
|
+
throw new TransactionAdapterNotFoundError(adapterName, instanceName);
|
|
64
61
|
}
|
|
65
62
|
return adapter;
|
|
66
63
|
}
|
|
@@ -92,11 +89,11 @@ let AdapterRegistry = AdapterRegistry_1 = class AdapterRegistry {
|
|
|
92
89
|
}
|
|
93
90
|
}
|
|
94
91
|
if (matches.length === 0) {
|
|
95
|
-
throw new
|
|
92
|
+
throw new TransactionAdapterNotFoundError('*', dataSource);
|
|
96
93
|
}
|
|
97
94
|
if (matches.length > 1) {
|
|
98
95
|
const names = matches.map((m) => `${m.adapterName}:${dataSource}`).join(', ');
|
|
99
|
-
throw new
|
|
96
|
+
throw new IllegalTransactionStateError(`Multiple adapters registered for dataSource '${dataSource}' (${names}). ` +
|
|
100
97
|
`Use the explicit \`adapter\` + \`adapterInstance\` options to disambiguate.`);
|
|
101
98
|
}
|
|
102
99
|
// Length is exactly 1 here (checked above) — non-null is provably safe.
|
|
@@ -121,11 +118,11 @@ let AdapterRegistry = AdapterRegistry_1 = class AdapterRegistry {
|
|
|
121
118
|
}
|
|
122
119
|
}
|
|
123
120
|
if (matches.length === 0) {
|
|
124
|
-
throw new
|
|
121
|
+
throw new TransactionAdapterNotFoundError('*', dataSource);
|
|
125
122
|
}
|
|
126
123
|
if (matches.length > 1) {
|
|
127
124
|
const names = matches.map((n) => `${n}:${dataSource}`).join(', ');
|
|
128
|
-
throw new
|
|
125
|
+
throw new IllegalTransactionStateError(`Multiple adapters registered for dataSource '${dataSource}' (${names}). ` +
|
|
129
126
|
`Use the explicit \`adapter\` + \`adapterInstance\` options to disambiguate.`);
|
|
130
127
|
}
|
|
131
128
|
// Length is exactly 1 here (checked above) — non-null is provably safe.
|
|
@@ -140,7 +137,7 @@ let AdapterRegistry = AdapterRegistry_1 = class AdapterRegistry {
|
|
|
140
137
|
*/
|
|
141
138
|
getDefaultAdapterName() {
|
|
142
139
|
if (this.defaultAdapterName === null) {
|
|
143
|
-
throw new
|
|
140
|
+
throw new IllegalTransactionStateError('No default adapter registered. Register at least one adapter via ' +
|
|
144
141
|
'TypeOrmTransactionalModule.forFeature() or the corresponding ' +
|
|
145
142
|
'transactional module for your ORM.');
|
|
146
143
|
}
|
|
@@ -172,8 +169,8 @@ let AdapterRegistry = AdapterRegistry_1 = class AdapterRegistry {
|
|
|
172
169
|
return `${adapterName}:${instanceName}`;
|
|
173
170
|
}
|
|
174
171
|
};
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
(0, common_1.Injectable)()
|
|
172
|
+
AdapterRegistry = AdapterRegistry_1 = __decorate([
|
|
173
|
+
Injectable()
|
|
178
174
|
], AdapterRegistry);
|
|
175
|
+
export { AdapterRegistry };
|
|
179
176
|
//# sourceMappingURL=adapter.registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.registry.js","sourceRoot":"","sources":["../../src/manager/adapter.registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"adapter.registry.js","sourceRoot":"","sources":["../../src/manager/adapter.registry.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,4BAA4B,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AAoBnG;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;;;;;;;;;;;;GAaG;AAEI,IAAM,eAAe,uBAArB,MAAM,eAAe;IACT,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC1D,kBAAkB,GAAkB,IAAI,CAAC;IACzC,mBAAmB,GAAG,SAAS,CAAC;IAExC;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAiC,EAAE,SAAS,GAAG,KAAK;QAC3D,MAAM,GAAG,GAAG,iBAAe,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,SAAS,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,WAAW,CAAC;YACnD,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC,YAAY,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,WAAmB,EAAE,YAAoB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAe,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;QACrF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,+BAA+B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,eAAe,CAAC,UAAkB;QAChC,MAAM,OAAO,GAA2D,EAAE,CAAC;QAE3E,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,+BAA+B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,IAAI,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,MAAM,IAAI,4BAA4B,CACpC,gDAAgD,UAAU,MAAM,KAAK,KAAK;gBACxE,6EAA6E,CAChF,CAAC;QACJ,CAAC;QACD,wEAAwE;QACxE,oEAAoE;QACpE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACH,0BAA0B,CAAC,UAAkB;QAC3C,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC1C,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,+BAA+B,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,4BAA4B,CACpC,gDAAgD,UAAU,MAAM,KAAK,KAAK;gBACxE,6EAA6E,CAChF,CAAC;QACJ,CAAC;QACD,wEAAwE;QACxE,oEAAoE;QACpE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,qBAAqB;QACnB,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,4BAA4B,CACpC,mEAAmE;gBACjE,+DAA+D;gBAC/D,oCAAoC,CACvC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,sBAAsB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;YAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO;gBACL,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;gBAChC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;gBAClC,OAAO;aACR,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,WAAmB,EAAE,YAAoB;QAC7D,OAAO,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC;IAC1C,CAAC;CACF,CAAA;AAhKY,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAgK3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type TransactionObserver } from '../observability/transaction-observer';
|
|
2
|
-
import type { ExtendedTransactionOptions } from '../types/transaction-options';
|
|
3
|
-
import { AdapterRegistry } from './adapter.registry';
|
|
1
|
+
import { type TransactionObserver } from '../observability/transaction-observer.js';
|
|
2
|
+
import type { ExtendedTransactionOptions } from '../types/transaction-options.js';
|
|
3
|
+
import { AdapterRegistry } from './adapter.registry.js';
|
|
4
4
|
/**
|
|
5
5
|
* Runtime that executes a callback inside a transaction, following the
|
|
6
6
|
* requested {@link PropagationMode}. Exposes registration points for
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -12,15 +11,13 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
13
|
var TransactionManager_1;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const propagation_1 = require("../types/propagation");
|
|
23
|
-
const adapter_registry_1 = require("./adapter.registry");
|
|
14
|
+
import { randomUUID } from 'node:crypto';
|
|
15
|
+
import { Inject, Injectable, Logger, Optional } from '@nestjs/common';
|
|
16
|
+
import { TransactionContext } from '../context/transaction.context.js';
|
|
17
|
+
import { TRANSACTION_OBSERVERS, } from '../observability/transaction-observer.js';
|
|
18
|
+
import { IllegalTransactionStateError } from '../types/errors.js';
|
|
19
|
+
import { PropagationMode } from '../types/propagation.js';
|
|
20
|
+
import { ADAPTER_REGISTRY, AdapterRegistry } from './adapter.registry.js';
|
|
24
21
|
/**
|
|
25
22
|
* Runtime that executes a callback inside a transaction, following the
|
|
26
23
|
* requested {@link PropagationMode}. Exposes registration points for
|
|
@@ -35,7 +32,7 @@ const adapter_registry_1 = require("./adapter.registry");
|
|
|
35
32
|
let TransactionManager = TransactionManager_1 = class TransactionManager {
|
|
36
33
|
registry;
|
|
37
34
|
observers;
|
|
38
|
-
logger = new
|
|
35
|
+
logger = new Logger(TransactionManager_1.name);
|
|
39
36
|
constructor(registry, observers = []) {
|
|
40
37
|
this.registry = registry;
|
|
41
38
|
this.observers = observers;
|
|
@@ -76,62 +73,62 @@ let TransactionManager = TransactionManager_1 = class TransactionManager {
|
|
|
76
73
|
// dataSource takes precedence over adapter/adapterInstance (DD-020).
|
|
77
74
|
// Resolved up front so the rest of run() works in a single shape.
|
|
78
75
|
const { adapterName, instanceName } = this.resolveAdapterIdentifiers(options);
|
|
79
|
-
const propagation = options.propagation ??
|
|
76
|
+
const propagation = options.propagation ?? PropagationMode.REQUIRED;
|
|
80
77
|
const key = TransactionManager_1.contextKey(adapterName, instanceName);
|
|
81
|
-
const existing =
|
|
78
|
+
const existing = TransactionContext.getActiveTransaction(key);
|
|
82
79
|
switch (propagation) {
|
|
83
|
-
case
|
|
80
|
+
case PropagationMode.REQUIRED: {
|
|
84
81
|
if (existing !== undefined) {
|
|
85
82
|
return fn();
|
|
86
83
|
}
|
|
87
84
|
const adapter = this.registry.get(adapterName, instanceName);
|
|
88
85
|
return this.startNew(adapter, adapterName, instanceName, options, fn);
|
|
89
86
|
}
|
|
90
|
-
case
|
|
87
|
+
case PropagationMode.REQUIRES_NEW: {
|
|
91
88
|
const adapter = this.registry.get(adapterName, instanceName);
|
|
92
89
|
if (existing === undefined) {
|
|
93
90
|
return this.startNew(adapter, adapterName, instanceName, options, fn);
|
|
94
91
|
}
|
|
95
|
-
|
|
92
|
+
TransactionContext.removeActiveTransaction(key);
|
|
96
93
|
try {
|
|
97
94
|
return await this.startNew(adapter, adapterName, instanceName, options, fn);
|
|
98
95
|
}
|
|
99
96
|
finally {
|
|
100
|
-
|
|
97
|
+
TransactionContext.setActiveTransaction(key, existing);
|
|
101
98
|
}
|
|
102
99
|
}
|
|
103
|
-
case
|
|
100
|
+
case PropagationMode.NESTED: {
|
|
104
101
|
const adapter = this.registry.get(adapterName, instanceName);
|
|
105
102
|
if (existing === undefined) {
|
|
106
103
|
return this.startNew(adapter, adapterName, instanceName, options, fn);
|
|
107
104
|
}
|
|
108
105
|
return this.runNestedSavepoint(adapter, existing, options, fn);
|
|
109
106
|
}
|
|
110
|
-
case
|
|
107
|
+
case PropagationMode.SUPPORTS: {
|
|
111
108
|
return fn();
|
|
112
109
|
}
|
|
113
|
-
case
|
|
110
|
+
case PropagationMode.NOT_SUPPORTED: {
|
|
114
111
|
if (existing === undefined) {
|
|
115
112
|
return fn();
|
|
116
113
|
}
|
|
117
|
-
|
|
114
|
+
TransactionContext.removeActiveTransaction(key);
|
|
118
115
|
try {
|
|
119
116
|
return await fn();
|
|
120
117
|
}
|
|
121
118
|
finally {
|
|
122
|
-
|
|
119
|
+
TransactionContext.setActiveTransaction(key, existing);
|
|
123
120
|
}
|
|
124
121
|
}
|
|
125
|
-
case
|
|
122
|
+
case PropagationMode.NEVER: {
|
|
126
123
|
if (existing !== undefined) {
|
|
127
|
-
throw new
|
|
124
|
+
throw new IllegalTransactionStateError(`Propagation NEVER cannot be invoked inside an active transaction ` +
|
|
128
125
|
`(adapter: '${adapterName}', instance: '${instanceName}')`);
|
|
129
126
|
}
|
|
130
127
|
return fn();
|
|
131
128
|
}
|
|
132
|
-
case
|
|
129
|
+
case PropagationMode.MANDATORY: {
|
|
133
130
|
if (existing === undefined) {
|
|
134
|
-
throw new
|
|
131
|
+
throw new IllegalTransactionStateError(`Propagation MANDATORY requires an active transaction, but none is ` +
|
|
135
132
|
`active (adapter: '${adapterName}', instance: '${instanceName}')`);
|
|
136
133
|
}
|
|
137
134
|
return fn();
|
|
@@ -200,8 +197,8 @@ let TransactionManager = TransactionManager_1 = class TransactionManager {
|
|
|
200
197
|
this.currentTransaction().beforeCommitHooks.push(hook);
|
|
201
198
|
}
|
|
202
199
|
async startNew(adapter, adapterName, instanceName, options, fn) {
|
|
203
|
-
const outerStore =
|
|
204
|
-
const correlationId = outerStore?.correlationId ??
|
|
200
|
+
const outerStore = TransactionContext.getStore();
|
|
201
|
+
const correlationId = outerStore?.correlationId ?? randomUUID();
|
|
205
202
|
let activeTx;
|
|
206
203
|
const startTime = Date.now();
|
|
207
204
|
const key = TransactionManager_1.contextKey(adapterName, instanceName);
|
|
@@ -220,7 +217,7 @@ let TransactionManager = TransactionManager_1 = class TransactionManager {
|
|
|
220
217
|
beforeCommitHooks: [],
|
|
221
218
|
correlationId,
|
|
222
219
|
};
|
|
223
|
-
|
|
220
|
+
TransactionContext.setActiveTransaction(key, activeTx);
|
|
224
221
|
this.notifyStart({
|
|
225
222
|
transactionId: handle.id,
|
|
226
223
|
adapterName,
|
|
@@ -249,7 +246,7 @@ let TransactionManager = TransactionManager_1 = class TransactionManager {
|
|
|
249
246
|
}
|
|
250
247
|
}
|
|
251
248
|
finally {
|
|
252
|
-
|
|
249
|
+
TransactionContext.removeActiveTransaction(key);
|
|
253
250
|
}
|
|
254
251
|
});
|
|
255
252
|
}
|
|
@@ -291,7 +288,7 @@ let TransactionManager = TransactionManager_1 = class TransactionManager {
|
|
|
291
288
|
throw result.error;
|
|
292
289
|
};
|
|
293
290
|
if (outerStore === undefined) {
|
|
294
|
-
return
|
|
291
|
+
return TransactionContext.run(correlationId, body);
|
|
295
292
|
}
|
|
296
293
|
return body();
|
|
297
294
|
}
|
|
@@ -360,14 +357,14 @@ let TransactionManager = TransactionManager_1 = class TransactionManager {
|
|
|
360
357
|
throw result.error;
|
|
361
358
|
}
|
|
362
359
|
currentTransaction() {
|
|
363
|
-
const store =
|
|
360
|
+
const store = TransactionContext.getStore();
|
|
364
361
|
if (store === undefined) {
|
|
365
|
-
throw new
|
|
362
|
+
throw new IllegalTransactionStateError('Cannot register a transactional hook outside of TransactionManager.run()');
|
|
366
363
|
}
|
|
367
364
|
for (const tx of store.activeTransactions.values()) {
|
|
368
365
|
return tx;
|
|
369
366
|
}
|
|
370
|
-
throw new
|
|
367
|
+
throw new IllegalTransactionStateError('Cannot register a transactional hook: no active transaction on the current context');
|
|
371
368
|
}
|
|
372
369
|
/**
|
|
373
370
|
* Spring-style decision on whether a thrown error should trigger rollback:
|
|
@@ -401,12 +398,12 @@ let TransactionManager = TransactionManager_1 = class TransactionManager {
|
|
|
401
398
|
}
|
|
402
399
|
}
|
|
403
400
|
};
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
(0,
|
|
407
|
-
__param(
|
|
408
|
-
__param(1, (
|
|
409
|
-
|
|
410
|
-
__metadata("design:paramtypes", [adapter_registry_1.AdapterRegistry, Array])
|
|
401
|
+
TransactionManager = TransactionManager_1 = __decorate([
|
|
402
|
+
Injectable(),
|
|
403
|
+
__param(0, Inject(ADAPTER_REGISTRY)),
|
|
404
|
+
__param(1, Optional()),
|
|
405
|
+
__param(1, Inject(TRANSACTION_OBSERVERS)),
|
|
406
|
+
__metadata("design:paramtypes", [AdapterRegistry, Array])
|
|
411
407
|
], TransactionManager);
|
|
408
|
+
export { TransactionManager };
|
|
412
409
|
//# sourceMappingURL=transaction.manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.manager.js","sourceRoot":"","sources":["../../src/manager/transaction.manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction.manager.js","sourceRoot":"","sources":["../../src/manager/transaction.manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAA0B,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EACL,qBAAqB,GAKtB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI1D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAoB1E;;;;;;;;;;GAUG;AAEI,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAKV;IAGA;IAPF,MAAM,GAAG,IAAI,MAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9D,YAEmB,QAAyB,EAGzB,YAA4C,EAAE;QAH9C,aAAQ,GAAR,QAAQ,CAAiB;QAGzB,cAAS,GAAT,SAAS,CAAqC;IAC9D,CAAC;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,KAAK,CAAC,GAAG,CAAI,OAAmC,EAAE,EAAoB;QACpE,qEAAqE;QACrE,kEAAkE;QAClE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,eAAe,CAAC,QAAQ,CAAC;QACpE,MAAM,GAAG,GAAG,oBAAkB,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAErE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE9D,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,EAAE,EAAE,CAAC;gBACd,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,KAAK,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,kBAAkB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC;oBACH,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC9E,CAAC;wBAAS,CAAC;oBACT,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC7D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9B,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;YAED,KAAK,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;gBACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,OAAO,EAAE,EAAE,CAAC;gBACd,CAAC;gBACD,kBAAkB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC;oBACH,OAAO,MAAM,EAAE,EAAE,CAAC;gBACpB,CAAC;wBAAS,CAAC;oBACT,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC3B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,IAAI,4BAA4B,CACpC,mEAAmE;wBACjE,cAAc,WAAW,iBAAiB,YAAY,IAAI,CAC7D,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;YAED,KAAK,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,IAAI,4BAA4B,CACpC,oEAAoE;wBAClE,qBAAqB,WAAW,iBAAiB,YAAY,IAAI,CACpE,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,UAAU,CAAC,WAAmB,EAAE,YAAoB;QACjE,OAAO,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;OAUG;IACK,yBAAyB,CAAC,OAAmC;QAInE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC;gBACzE,YAAY,EAAE,OAAO,CAAC,UAAU;aACjC,CAAC;QACJ,CAAC;QACD,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE;YACrE,YAAY,EAAE,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;SAChF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,IAAyB;QAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,IAAuC;QAC3D,IAAI,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,IAAyB;QAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,OAA2B,EAC3B,WAAmB,EACnB,YAAoB,EACpB,OAAmC,EACnC,EAAoB;QAEpB,MAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,UAAU,EAAE,aAAa,IAAI,UAAU,EAAE,CAAC;QAEhE,IAAI,QAAuC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,oBAAkB,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,KAAK,IAAgB,EAAE;YAClC,IAAI,MAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,OAAO,CAAC,gBAAgB,CACrC,OAAO,EACP,KAAK,EAAE,MAAM,EAA8B,EAAE;oBAC3C,QAAQ,GAAG;wBACT,MAAM;wBACN,WAAW;wBACX,mBAAmB,EAAE,YAAY;wBACjC,OAAO;wBACP,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,gBAAgB,EAAE,EAAE;wBACpB,kBAAkB,EAAE,EAAE;wBACtB,iBAAiB,EAAE,EAAE;wBACrB,aAAa;qBACd,CAAC;oBACF,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAEvD,IAAI,CAAC,WAAW,CAAC;wBACf,aAAa,EAAE,MAAM,CAAC,EAAE;wBACxB,WAAW;wBACX,mBAAmB,EAAE,YAAY;wBACjC,aAAa;wBACb,OAAO;qBACR,CAAC,CAAC;oBAEH,IAAI,CAAC;wBACH,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,MAAM,EAAE,EAAE,CAAC;4BAC9B,yDAAyD;4BACzD,oDAAoD;4BACpD,iBAAiB;4BACjB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,EAAE,CAAC;gCAC9C,MAAM,IAAI,EAAE,CAAC;4BACf,CAAC;4BACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;wBACzC,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;gCACtC,MAAM,GAAG,CAAC,CAAC,4BAA4B;4BACzC,CAAC;4BACD,0DAA0D;4BAC1D,qDAAqD;4BACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;wBACnC,CAAC;oBACH,CAAC;4BAAS,CAAC;wBACT,kBAAkB,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC,CACF,CAAC;YACJ,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,cAAc,CAAC;wBAClB,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;wBACjC,WAAW;wBACX,mBAAmB,EAAE,YAAY;wBACjC,aAAa;wBACb,OAAO;wBACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAClC,KAAK,EAAE,aAAa;wBACpB,aAAa,EAAE,QAAQ,CAAC,kBAAkB,CAAC,MAAM;qBAClD,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,aAAa,CAAC;YACtB,CAAC;YAED,iEAAiE;YACjE,kEAAkE;YAClE,iEAAiE;YACjE,6BAA6B;YAC7B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,YAAY,CAAC;oBAChB,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACjC,WAAW;oBACX,mBAAmB,EAAE,YAAY;oBACjC,aAAa;oBACb,OAAO;oBACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAClC,WAAW,EAAE,QAAQ,CAAC,gBAAgB,CAAC,MAAM;iBAC9C,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC,KAAK,CAAC;YACtB,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,GAA4B;QAC9C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kDAAkD,MAAM,CAAC,GAAG,CAAC,EAAE,EAC/D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC7C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,GAA6B;QAChD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mDAAmD,MAAM,CAAC,GAAG,CAAC,EAAE,EAChE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC7C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,GAA+B;QACpD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qDAAqD,MAAM,CAAC,GAAG,CAAC,EAAE,EAClE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC7C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,kBAAkB,CAC9B,OAA2B,EAC3B,MAAyB,EACzB,OAAmC,EACnC,EAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CACzC,MAAM,CAAC,MAAM,EACb,KAAK,IAAgC,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC;gBACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;oBACtC,MAAM,GAAG,CAAC,CAAC,kCAAkC;gBAC/C,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACnC,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QACD,MAAM,MAAM,CAAC,KAAK,CAAC;IACrB,CAAC;IAEO,kBAAkB;QACxB,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,4BAA4B,CACpC,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,4BAA4B,CACpC,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACK,cAAc,CAAC,KAAc,EAAE,OAAmC;QACxE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QAE/C,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC;gBACtD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAiC,EAAE,KAAe;QACvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,MAAM,CAAC,SAAS,CAAC,EAAE,EACzD,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACzD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAjbY,kBAAkB;IAD9B,UAAU,EAAE;IAKR,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;IAExB,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;qCAFH,eAAe;GALjC,kBAAkB,CAib9B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type DynamicModule, type InjectionToken, type ModuleMetadata } from '@nestjs/common';
|
|
2
|
-
import { type TransactionObserver } from '../observability/transaction-observer';
|
|
3
|
-
import type { TransactionAdapter } from '../types/transaction-adapter';
|
|
2
|
+
import { type TransactionObserver } from '../observability/transaction-observer.js';
|
|
3
|
+
import type { TransactionAdapter } from '../types/transaction-adapter.js';
|
|
4
4
|
/**
|
|
5
5
|
* Synchronous options for {@link TransactionalModule.forRoot}.
|
|
6
6
|
*
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -6,17 +5,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
7
|
var TransactionalModule_1;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const transaction_observer_1 = require("../observability/transaction-observer");
|
|
19
|
-
const token_utils_1 = require("../tokens/token-utils");
|
|
8
|
+
import { Module, } from '@nestjs/common';
|
|
9
|
+
import { APP_INTERCEPTOR, DiscoveryModule } from '@nestjs/core';
|
|
10
|
+
import { TransactionalMethodsBootstrap } from '../bootstrap/transactional-methods.bootstrap.js';
|
|
11
|
+
import { TransactionContextView } from '../context/transaction-context-view.js';
|
|
12
|
+
import { TransactionalInterceptor } from '../interceptor/transactional.interceptor.js';
|
|
13
|
+
import { ADAPTER_REGISTRY, AdapterRegistry, } from '../manager/adapter.registry.js';
|
|
14
|
+
import { TransactionManager } from '../manager/transaction.manager.js';
|
|
15
|
+
import { TRANSACTION_OBSERVERS, } from '../observability/transaction-observer.js';
|
|
16
|
+
import { getTransactionContextToken, getTransactionManagerToken, getTransactionalAdapterToken, } from '../tokens/token-utils.js';
|
|
20
17
|
const ASYNC_OPTIONS_TOKEN = (id) => Symbol(`TRANSACTIONAL_ASYNC_OPTIONS[${id}]`);
|
|
21
18
|
const ASYNC_REGISTRATION_TOKEN = (id) => Symbol(`TRANSACTIONAL_ASYNC_REGISTRATION[${id}]`);
|
|
22
19
|
/**
|
|
@@ -151,35 +148,35 @@ let TransactionalModule = class TransactionalModule {
|
|
|
151
148
|
// `forRoot` body has run and the Map is fully populated. Pattern
|
|
152
149
|
// mirrors `OutboxModule` per ADR-019.
|
|
153
150
|
providers.push({
|
|
154
|
-
provide:
|
|
151
|
+
provide: ADAPTER_REGISTRY,
|
|
155
152
|
useFactory: () => buildRegistryFromStaticStorage(TransactionalModule_1),
|
|
156
153
|
});
|
|
157
154
|
providers.push({
|
|
158
|
-
provide:
|
|
159
|
-
useExisting:
|
|
155
|
+
provide: AdapterRegistry,
|
|
156
|
+
useExisting: ADAPTER_REGISTRY,
|
|
160
157
|
});
|
|
161
|
-
providers.push(
|
|
158
|
+
providers.push(TransactionManager);
|
|
162
159
|
if (options.observers !== undefined) {
|
|
163
160
|
providers.push({
|
|
164
|
-
provide:
|
|
161
|
+
provide: TRANSACTION_OBSERVERS,
|
|
165
162
|
useValue: [...options.observers],
|
|
166
163
|
});
|
|
167
164
|
}
|
|
168
165
|
if (options.registerInterceptor !== false) {
|
|
169
166
|
providers.push({
|
|
170
|
-
provide:
|
|
171
|
-
useClass:
|
|
167
|
+
provide: APP_INTERCEPTOR,
|
|
168
|
+
useClass: TransactionalInterceptor,
|
|
172
169
|
});
|
|
173
170
|
}
|
|
174
171
|
if (options.registerMethodsBootstrap !== false) {
|
|
175
|
-
providers.push(
|
|
172
|
+
providers.push(TransactionalMethodsBootstrap);
|
|
176
173
|
}
|
|
177
|
-
exportTokens.push(
|
|
174
|
+
exportTokens.push(TransactionManager, ADAPTER_REGISTRY, AdapterRegistry);
|
|
178
175
|
}
|
|
179
176
|
return {
|
|
180
177
|
module: TransactionalModule_1,
|
|
181
178
|
global: options.isGlobal ?? true,
|
|
182
|
-
imports: [
|
|
179
|
+
imports: [DiscoveryModule],
|
|
183
180
|
providers,
|
|
184
181
|
exports: exportTokens,
|
|
185
182
|
};
|
|
@@ -243,7 +240,7 @@ let TransactionalModule = class TransactionalModule {
|
|
|
243
240
|
}
|
|
244
241
|
return true;
|
|
245
242
|
},
|
|
246
|
-
inject: [asyncToken,
|
|
243
|
+
inject: [asyncToken, ADAPTER_REGISTRY],
|
|
247
244
|
};
|
|
248
245
|
const providers = [asyncOptionsProvider, adapterEagerRegistrationProvider];
|
|
249
246
|
const exportTokens = [];
|
|
@@ -256,48 +253,48 @@ let TransactionalModule = class TransactionalModule {
|
|
|
256
253
|
// depends on it — so by the time consumers read the registry,
|
|
257
254
|
// every adapter has been registered.
|
|
258
255
|
providers.push({
|
|
259
|
-
provide:
|
|
260
|
-
useFactory: () => new
|
|
256
|
+
provide: ADAPTER_REGISTRY,
|
|
257
|
+
useFactory: () => new AdapterRegistry(),
|
|
261
258
|
});
|
|
262
259
|
providers.push({
|
|
263
|
-
provide:
|
|
264
|
-
useExisting:
|
|
260
|
+
provide: AdapterRegistry,
|
|
261
|
+
useExisting: ADAPTER_REGISTRY,
|
|
265
262
|
});
|
|
266
|
-
providers.push(
|
|
263
|
+
providers.push(TransactionManager);
|
|
267
264
|
// First-call-only observers honoring (Q2 invariant). The async
|
|
268
265
|
// factory may return `observers` — only the first forRootAsync's
|
|
269
266
|
// observers are wired; subsequent calls' observers are ignored
|
|
270
267
|
// (we cannot throw at call time because the value is only known
|
|
271
268
|
// after the factory runs).
|
|
272
269
|
providers.push({
|
|
273
|
-
provide:
|
|
270
|
+
provide: TRANSACTION_OBSERVERS,
|
|
274
271
|
useFactory: (opts) => (opts.observers ? [...opts.observers] : []),
|
|
275
272
|
inject: [asyncToken],
|
|
276
273
|
});
|
|
277
274
|
if (options.registerInterceptor !== false) {
|
|
278
275
|
providers.push({
|
|
279
|
-
provide:
|
|
280
|
-
useClass:
|
|
276
|
+
provide: APP_INTERCEPTOR,
|
|
277
|
+
useClass: TransactionalInterceptor,
|
|
281
278
|
});
|
|
282
279
|
}
|
|
283
280
|
if (options.registerMethodsBootstrap !== false) {
|
|
284
|
-
providers.push(
|
|
281
|
+
providers.push(TransactionalMethodsBootstrap);
|
|
285
282
|
}
|
|
286
|
-
exportTokens.push(
|
|
283
|
+
exportTokens.push(TransactionManager, ADAPTER_REGISTRY, AdapterRegistry);
|
|
287
284
|
}
|
|
288
285
|
return {
|
|
289
286
|
module: TransactionalModule_1,
|
|
290
287
|
global: options.isGlobal ?? true,
|
|
291
|
-
imports: [
|
|
288
|
+
imports: [DiscoveryModule, ...(options.imports ?? [])],
|
|
292
289
|
providers,
|
|
293
290
|
exports: exportTokens,
|
|
294
291
|
};
|
|
295
292
|
}
|
|
296
293
|
};
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
(0, common_1.Module)({})
|
|
294
|
+
TransactionalModule = TransactionalModule_1 = __decorate([
|
|
295
|
+
Module({})
|
|
300
296
|
], TransactionalModule);
|
|
297
|
+
export { TransactionalModule };
|
|
301
298
|
/**
|
|
302
299
|
* Per-dataSource DI providers for ADR-018's token-based access pattern.
|
|
303
300
|
* Each adapter-bearing `forRoot` call registers, for the supplied
|
|
@@ -330,16 +327,16 @@ function buildPerDataSourceProviders(adapter) {
|
|
|
330
327
|
const ds = adapter.dataSourceName;
|
|
331
328
|
return [
|
|
332
329
|
{
|
|
333
|
-
provide:
|
|
330
|
+
provide: getTransactionalAdapterToken(ds),
|
|
334
331
|
useValue: adapter,
|
|
335
332
|
},
|
|
336
333
|
{
|
|
337
|
-
provide:
|
|
338
|
-
useValue: new
|
|
334
|
+
provide: getTransactionContextToken(ds),
|
|
335
|
+
useValue: new TransactionContextView(ds),
|
|
339
336
|
},
|
|
340
337
|
{
|
|
341
|
-
provide:
|
|
342
|
-
useExisting:
|
|
338
|
+
provide: getTransactionManagerToken(ds),
|
|
339
|
+
useExisting: TransactionManager,
|
|
343
340
|
},
|
|
344
341
|
];
|
|
345
342
|
}
|
|
@@ -353,7 +350,7 @@ function buildPerDataSourceProviders(adapter) {
|
|
|
353
350
|
* @internal
|
|
354
351
|
*/
|
|
355
352
|
function buildRegistryFromStaticStorage(moduleClass) {
|
|
356
|
-
const registry = new
|
|
353
|
+
const registry = new AdapterRegistry();
|
|
357
354
|
// The Map is `private static` — read it through a structural cast.
|
|
358
355
|
const registrations = moduleClass.registrations;
|
|
359
356
|
for (const reg of registrations.values()) {
|
|
@@ -363,9 +360,9 @@ function buildRegistryFromStaticStorage(moduleClass) {
|
|
|
363
360
|
}
|
|
364
361
|
function buildPerDataSourceExports(ds) {
|
|
365
362
|
return [
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
363
|
+
getTransactionalAdapterToken(ds),
|
|
364
|
+
getTransactionContextToken(ds),
|
|
365
|
+
getTransactionManagerToken(ds),
|
|
369
366
|
];
|
|
370
367
|
}
|
|
371
368
|
//# sourceMappingURL=transactional.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactional.module.js","sourceRoot":"","sources":["../../src/module/transactional.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transactional.module.js","sourceRoot":"","sources":["../../src/module/transactional.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ExtendedTransactionOptions } from '../types/transaction-options';
|
|
1
|
+
import type { ExtendedTransactionOptions } from '../types/transaction-options.js';
|
|
2
2
|
/**
|
|
3
3
|
* Context passed to {@link TransactionObserver.onTransactionStart}. Built
|
|
4
4
|
* once by {@link TransactionManager} when a new transaction begins —
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TRANSACTION_OBSERVERS = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* DI token under which {@link TransactionObserver} instances are
|
|
6
3
|
* registered. Wired automatically by
|
|
@@ -14,5 +11,5 @@ exports.TRANSACTION_OBSERVERS = void 0;
|
|
|
14
11
|
* ]
|
|
15
12
|
* ```
|
|
16
13
|
*/
|
|
17
|
-
|
|
14
|
+
export const TRANSACTION_OBSERVERS = Symbol('TRANSACTION_OBSERVERS');
|
|
18
15
|
//# sourceMappingURL=transaction-observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-observer.js","sourceRoot":"","sources":["../../src/observability/transaction-observer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transaction-observer.js","sourceRoot":"","sources":["../../src/observability/transaction-observer.ts"],"names":[],"mappings":"AA2EA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { TransactionAdapter } from '../types/transaction-adapter';
|
|
2
|
-
import type { TransactionHandle } from '../types/transaction-handle';
|
|
3
|
-
import type { TransactionOptions } from '../types/transaction-options';
|
|
1
|
+
import type { TransactionAdapter } from '../types/transaction-adapter.js';
|
|
2
|
+
import type { TransactionHandle } from '../types/transaction-handle.js';
|
|
3
|
+
import type { TransactionOptions } from '../types/transaction-options.js';
|
|
4
4
|
/**
|
|
5
5
|
* Handle emitted by {@link InMemoryTransactionAdapter}. Extends
|
|
6
6
|
* {@link TransactionHandle} with a mutable `operations` array that tests
|