@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.
Files changed (60) hide show
  1. package/README.md +14 -0
  2. package/dist/bootstrap/transactional-methods.bootstrap.d.ts +2 -2
  3. package/dist/bootstrap/transactional-methods.bootstrap.js +19 -22
  4. package/dist/bootstrap/transactional-methods.bootstrap.js.map +1 -1
  5. package/dist/context/transaction-context-view.d.ts +1 -1
  6. package/dist/context/transaction-context-view.js +3 -7
  7. package/dist/context/transaction-context-view.js.map +1 -1
  8. package/dist/context/transaction.context.d.ts +2 -2
  9. package/dist/context/transaction.context.js +5 -9
  10. package/dist/context/transaction.context.js.map +1 -1
  11. package/dist/decorators/inject-decorators.js +6 -12
  12. package/dist/decorators/inject-decorators.js.map +1 -1
  13. package/dist/decorators/transactional.decorator.d.ts +1 -1
  14. package/dist/decorators/transactional.decorator.js +10 -17
  15. package/dist/decorators/transactional.decorator.js.map +1 -1
  16. package/dist/index.d.ts +18 -18
  17. package/dist/index.js +18 -34
  18. package/dist/index.js.map +1 -1
  19. package/dist/interceptor/transactional.interceptor.d.ts +1 -1
  20. package/dist/interceptor/transactional.interceptor.js +12 -15
  21. package/dist/interceptor/transactional.interceptor.js.map +1 -1
  22. package/dist/internal/markers.js +1 -4
  23. package/dist/internal/markers.js.map +1 -1
  24. package/dist/manager/adapter.registry.d.ts +1 -1
  25. package/dist/manager/adapter.registry.js +12 -15
  26. package/dist/manager/adapter.registry.js.map +1 -1
  27. package/dist/manager/transaction.manager.d.ts +3 -3
  28. package/dist/manager/transaction.manager.js +38 -41
  29. package/dist/manager/transaction.manager.js.map +1 -1
  30. package/dist/module/transactional.module.d.ts +2 -2
  31. package/dist/module/transactional.module.js +43 -46
  32. package/dist/module/transactional.module.js.map +1 -1
  33. package/dist/observability/transaction-observer.d.ts +1 -1
  34. package/dist/observability/transaction-observer.js +1 -4
  35. package/dist/observability/transaction-observer.js.map +1 -1
  36. package/dist/testing/in-memory.adapter.d.ts +3 -3
  37. package/dist/testing/in-memory.adapter.js +4 -8
  38. package/dist/testing/in-memory.adapter.js.map +1 -1
  39. package/dist/testing/index.d.ts +1 -1
  40. package/dist/testing/index.js +1 -17
  41. package/dist/testing/index.js.map +1 -1
  42. package/dist/tokens/constants.js +1 -4
  43. package/dist/tokens/constants.js.map +1 -1
  44. package/dist/tokens/index.d.ts +2 -2
  45. package/dist/tokens/index.js +2 -10
  46. package/dist/tokens/index.js.map +1 -1
  47. package/dist/tokens/token-utils.js +5 -11
  48. package/dist/tokens/token-utils.js.map +1 -1
  49. package/dist/types/domain-event.js +1 -2
  50. package/dist/types/errors.js +4 -11
  51. package/dist/types/errors.js.map +1 -1
  52. package/dist/types/isolation.js +1 -2
  53. package/dist/types/propagation.js +2 -5
  54. package/dist/types/propagation.js.map +1 -1
  55. package/dist/types/transaction-adapter.d.ts +2 -2
  56. package/dist/types/transaction-adapter.js +1 -2
  57. package/dist/types/transaction-handle.js +1 -2
  58. package/dist/types/transaction-options.d.ts +2 -2
  59. package/dist/types/transaction-options.js +1 -2
  60. package/package.json +18 -15
package/README.md CHANGED
@@ -28,6 +28,20 @@ pnpm add @nestjs-transactional/core @nestjs-transactional/typeorm reflect-metada
28
28
  Load `reflect-metadata` once at your entry point, as NestJS itself
29
29
  requires.
30
30
 
31
+ ## Module format
32
+
33
+ This package ships **ESM only**, matching NestJS 12, which is ESM-only
34
+ across its own packages. There is no CommonJS build.
35
+
36
+ A CommonJS application still works: Node loads ESM from `require()`
37
+ since 22.12.0, which is why `engines.node` is `>=22.13.0`. What does not
38
+ follow Node here is tooling with its own module loader — Jest above all,
39
+ which needs `NODE_OPTIONS=--experimental-vm-modules` and a few config
40
+ settings. The 19 example applications in the repository all run their
41
+ suites that way and can be copied from.
42
+
43
+ Reasoning and measurements: [ADR-022](https://github.com/igorgolovanov/nestjs-transactional/blob/main/docs/adr/022-esm-only-packaging.md).
44
+
31
45
  ## Quick start
32
46
 
33
47
  ```ts
@@ -1,7 +1,7 @@
1
1
  import 'reflect-metadata';
2
2
  import { type OnApplicationBootstrap } from '@nestjs/common';
3
3
  import { DiscoveryService, MetadataScanner } from '@nestjs/core';
4
- import { TransactionManager } from '../manager/transaction.manager';
4
+ import { TransactionManager } from '../manager/transaction.manager.js';
5
5
  /**
6
6
  * `OnApplicationBootstrap` service that wraps every `@Transactional()`
7
7
  * method on a plain `@Injectable()` provider with
@@ -10,7 +10,7 @@ import { TransactionManager } from '../manager/transaction.manager';
10
10
  * This is the second of the three coordinated wrapping mechanisms
11
11
  * described in ADR-005:
12
12
  *
13
- * 1. {@link import('../interceptor/transactional.interceptor').TransactionalInterceptor}
13
+ * 1. {@link import('../interceptor/transactional.interceptor.js').TransactionalInterceptor}
14
14
  * — for controller / resolver / gateway request-boundary handlers.
15
15
  * 2. This class — for regular `@Injectable` services.
16
16
  * 3. `CqrsHandlerWrapper` (in `@nestjs-transactional/cqrs`) — for CQRS
@@ -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);
@@ -9,14 +8,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
10
  var TransactionalMethodsBootstrap_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.TransactionalMethodsBootstrap = void 0;
14
- require("reflect-metadata");
15
- const common_1 = require("@nestjs/common");
16
- const core_1 = require("@nestjs/core");
17
- const transactional_decorator_1 = require("../decorators/transactional.decorator");
18
- const markers_1 = require("../internal/markers");
19
- const transaction_manager_1 = require("../manager/transaction.manager");
11
+ import 'reflect-metadata';
12
+ import { Injectable, Logger } from '@nestjs/common';
13
+ import { DiscoveryService, MetadataScanner } from '@nestjs/core';
14
+ import { TRANSACTIONAL_METADATA, getTransactionalMetadata, } from '../decorators/transactional.decorator.js';
15
+ import { WRAPPED_MARKER } from '../internal/markers.js';
16
+ import { TransactionManager } from '../manager/transaction.manager.js';
20
17
  /**
21
18
  * Metadata keys set by `@nestjs/cqrs`'s handler decorators. Mirrored here
22
19
  * so the bootstrap skips CQRS handler classes — they are wrapped by
@@ -37,7 +34,7 @@ const CQRS_HANDLER_KEYS = [
37
34
  * This is the second of the three coordinated wrapping mechanisms
38
35
  * described in ADR-005:
39
36
  *
40
- * 1. {@link import('../interceptor/transactional.interceptor').TransactionalInterceptor}
37
+ * 1. {@link import('../interceptor/transactional.interceptor.js').TransactionalInterceptor}
41
38
  * — for controller / resolver / gateway request-boundary handlers.
42
39
  * 2. This class — for regular `@Injectable` services.
43
40
  * 3. `CqrsHandlerWrapper` (in `@nestjs-transactional/cqrs`) — for CQRS
@@ -60,7 +57,7 @@ let TransactionalMethodsBootstrap = TransactionalMethodsBootstrap_1 = class Tran
60
57
  discovery;
61
58
  metadataScanner;
62
59
  manager;
63
- logger = new common_1.Logger(TransactionalMethodsBootstrap_1.name);
60
+ logger = new Logger(TransactionalMethodsBootstrap_1.name);
64
61
  constructor(discovery, metadataScanner, manager) {
65
62
  this.discovery = discovery;
66
63
  this.metadataScanner = metadataScanner;
@@ -81,7 +78,7 @@ let TransactionalMethodsBootstrap = TransactionalMethodsBootstrap_1 = class Tran
81
78
  const prototype = Object.getPrototypeOf(instance);
82
79
  if (prototype === null)
83
80
  continue;
84
- const classMetadata = (0, transactional_decorator_1.getTransactionalMetadata)(metatype);
81
+ const classMetadata = getTransactionalMetadata(metatype);
85
82
  const methodNames = this.metadataScanner.getAllMethodNames(prototype);
86
83
  const methods = prototype;
87
84
  const host = instance;
@@ -89,13 +86,13 @@ let TransactionalMethodsBootstrap = TransactionalMethodsBootstrap_1 = class Tran
89
86
  const protoMethod = methods[methodName];
90
87
  if (typeof protoMethod !== 'function')
91
88
  continue;
92
- const metadata = (0, transactional_decorator_1.getTransactionalMetadata)(protoMethod) ?? classMetadata;
89
+ const metadata = getTransactionalMetadata(protoMethod) ?? classMetadata;
93
90
  if (metadata === undefined)
94
91
  continue;
95
92
  const currentMethod = host[methodName];
96
93
  if (typeof currentMethod !== 'function')
97
94
  continue;
98
- if (Reflect.getMetadata(markers_1.WRAPPED_MARKER, currentMethod) === true)
95
+ if (Reflect.getMetadata(WRAPPED_MARKER, currentMethod) === true)
99
96
  continue;
100
97
  if (this.wrapMethod(host, methodName, currentMethod, instance, metadata)) {
101
98
  wrappedCount++;
@@ -111,19 +108,19 @@ let TransactionalMethodsBootstrap = TransactionalMethodsBootstrap_1 = class Tran
111
108
  const boundOriginal = currentMethod.bind(instance);
112
109
  const manager = this.manager;
113
110
  const wrapped = (...args) => manager.run(metadata, () => Promise.resolve(boundOriginal(...args)));
114
- Reflect.defineMetadata(markers_1.WRAPPED_MARKER, true, wrapped);
115
- Reflect.defineMetadata(transactional_decorator_1.TRANSACTIONAL_METADATA, metadata, wrapped);
111
+ Reflect.defineMetadata(WRAPPED_MARKER, true, wrapped);
112
+ Reflect.defineMetadata(TRANSACTIONAL_METADATA, metadata, wrapped);
116
113
  host[methodName] = wrapped;
117
114
  this.logger.debug(`Wrapped ${instance.constructor.name}.${methodName} ` +
118
115
  `(propagation=${metadata.propagation ?? 'REQUIRED'})`);
119
116
  return true;
120
117
  }
121
118
  };
122
- exports.TransactionalMethodsBootstrap = TransactionalMethodsBootstrap;
123
- exports.TransactionalMethodsBootstrap = TransactionalMethodsBootstrap = TransactionalMethodsBootstrap_1 = __decorate([
124
- (0, common_1.Injectable)(),
125
- __metadata("design:paramtypes", [core_1.DiscoveryService,
126
- core_1.MetadataScanner,
127
- transaction_manager_1.TransactionManager])
119
+ TransactionalMethodsBootstrap = TransactionalMethodsBootstrap_1 = __decorate([
120
+ Injectable(),
121
+ __metadata("design:paramtypes", [DiscoveryService,
122
+ MetadataScanner,
123
+ TransactionManager])
128
124
  ], TransactionalMethodsBootstrap);
125
+ export { TransactionalMethodsBootstrap };
129
126
  //# sourceMappingURL=transactional-methods.bootstrap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactional-methods.bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap/transactional-methods.bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactional-methods.bootstrap.js","sourceRoot":"","sources":["../../src/bootstrap/transactional-methods.bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type ActiveTransaction } from './transaction.context';
1
+ import { type ActiveTransaction } from './transaction.context.js';
2
2
  /**
3
3
  * Per-dataSource read-only view over {@link TransactionContext}'s active
4
4
  * transaction Map (DD-022). Bound to a single dataSource name at
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionContextView = void 0;
4
- const transaction_context_1 = require("./transaction.context");
1
+ import { TransactionContext } from './transaction.context.js';
5
2
  /**
6
3
  * Per-dataSource read-only view over {@link TransactionContext}'s active
7
4
  * transaction Map (DD-022). Bound to a single dataSource name at
@@ -18,7 +15,7 @@ const transaction_context_1 = require("./transaction.context");
18
15
  * `getTransactionContextToken(dataSource)`. Inject via
19
16
  * `@InjectTransactionContext(dataSource?)`.
20
17
  */
21
- class TransactionContextView {
18
+ export class TransactionContextView {
22
19
  dataSource;
23
20
  /**
24
21
  * @param dataSource - Public dataSource name this view is bound to.
@@ -33,7 +30,7 @@ class TransactionContextView {
33
30
  * `TransactionContext.getActiveTransactionByDataSource(this.dataSource)`.
34
31
  */
35
32
  getActiveTransaction() {
36
- return transaction_context_1.TransactionContext.getActiveTransactionByDataSource(this.dataSource);
33
+ return TransactionContext.getActiveTransactionByDataSource(this.dataSource);
37
34
  }
38
35
  /**
39
36
  * Predicate convenience over {@link getActiveTransaction}. Useful for
@@ -44,5 +41,4 @@ class TransactionContextView {
44
41
  return this.getActiveTransaction() !== undefined;
45
42
  }
46
43
  }
47
- exports.TransactionContextView = TransactionContextView;
48
44
  //# sourceMappingURL=transaction-context-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-context-view.js","sourceRoot":"","sources":["../../src/context/transaction-context-view.ts"],"names":[],"mappings":";;;AAAA,+DAAmF;AAEnF;;;;;;;;;;;;;;;GAeG;AACH,MAAa,sBAAsB;IAKZ;IAJrB;;;OAGG;IACH,YAAqB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAE3C;;;;OAIG;IACH,oBAAoB;QAClB,OAAO,wCAAkB,CAAC,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,oBAAoB,EAAE,KAAK,SAAS,CAAC;IACnD,CAAC;CACF;AAxBD,wDAwBC"}
1
+ {"version":3,"file":"transaction-context-view.js","sourceRoot":"","sources":["../../src/context/transaction-context-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEtF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,sBAAsB;IAKZ;IAJrB;;;OAGG;IACH,YAAqB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAE3C;;;;OAIG;IACH,oBAAoB;QAClB,OAAO,kBAAkB,CAAC,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,oBAAoB,EAAE,KAAK,SAAS,CAAC;IACnD,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import type { TransactionHandle } from '../types/transaction-handle';
2
- import type { TransactionOptions } from '../types/transaction-options';
1
+ import type { TransactionHandle } from '../types/transaction-handle.js';
2
+ import type { TransactionOptions } from '../types/transaction-options.js';
3
3
  /**
4
4
  * A single transaction currently live on the async context. Adapters register
5
5
  * one of these under their `adapterInstanceName` when they begin a transaction
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionContext = void 0;
4
- const node_async_hooks_1 = require("node:async_hooks");
5
- const errors_1 = require("../types/errors");
6
- const als = new node_async_hooks_1.AsyncLocalStorage();
1
+ import { AsyncLocalStorage } from 'node:async_hooks';
2
+ import { IllegalTransactionStateError } from '../types/errors.js';
3
+ const als = new AsyncLocalStorage();
7
4
  /**
8
5
  * Thin façade over `AsyncLocalStorage` that carries the active
9
6
  * {@link TransactionContextStore} across async boundaries. This is the
@@ -25,7 +22,7 @@ const als = new node_async_hooks_1.AsyncLocalStorage();
25
22
  * cross-package consumers migrate to the dataSource-name lookup and
26
23
  * no backwards-compatibility constraints remain.
27
24
  */
28
- class TransactionContext {
25
+ export class TransactionContext {
29
26
  /**
30
27
  * Run `fn` inside a transaction context scope.
31
28
  *
@@ -95,7 +92,7 @@ class TransactionContext {
95
92
  static setActiveTransaction(adapterInstanceName, tx) {
96
93
  const store = als.getStore();
97
94
  if (store === undefined) {
98
- throw new errors_1.IllegalTransactionStateError('Cannot set active transaction outside of TransactionContext.run()');
95
+ throw new IllegalTransactionStateError('Cannot set active transaction outside of TransactionContext.run()');
99
96
  }
100
97
  store.activeTransactions.set(adapterInstanceName, tx);
101
98
  }
@@ -108,5 +105,4 @@ class TransactionContext {
108
105
  als.getStore()?.activeTransactions.delete(adapterInstanceName);
109
106
  }
110
107
  }
111
- exports.TransactionContext = TransactionContext;
112
108
  //# sourceMappingURL=transaction.context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.context.js","sourceRoot":"","sources":["../../src/context/transaction.context.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAErD,4CAA+D;AAwD/D,MAAM,GAAG,GAAG,IAAI,oCAAiB,EAA2B,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,kBAAkB;IAC7B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAI,aAAqB,EAAE,EAAoB;QACvD,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAA4B;YACrC,kBAAkB,EAAE,IAAI,GAAG,EAA6B;YACxD,aAAa;YACb,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,QAAQ;QACb,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,4FAA4F;IAC5F,MAAM,CAAC,oBAAoB,CAAC,mBAA2B;QACrD,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,gCAAgC,CAAC,UAAkB;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,EAAE,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;gBAC1C,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,mBAA2B,EAAE,EAAqB;QAC5E,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,qCAA4B,CACpC,mEAAmE,CACpE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,mBAA2B;QACxD,GAAG,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACjE,CAAC;CACF;AAzFD,gDAyFC"}
1
+ {"version":3,"file":"transaction.context.js","sourceRoot":"","sources":["../../src/context/transaction.context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAwDlE,MAAM,GAAG,GAAG,IAAI,iBAAiB,EAA2B,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,CAAI,aAAqB,EAAE,EAAoB;QACvD,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAA4B;YACrC,kBAAkB,EAAE,IAAI,GAAG,EAA6B;YACxD,aAAa;YACb,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,QAAQ;QACb,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,4FAA4F;IAC5F,MAAM,CAAC,oBAAoB,CAAC,mBAA2B;QACrD,OAAO,GAAG,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,gCAAgC,CAAC,UAAkB;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,EAAE,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;gBAC1C,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,mBAA2B,EAAE,EAAqB;QAC5E,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,4BAA4B,CACpC,mEAAmE,CACpE,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,mBAA2B;QACxD,GAAG,CAAC,QAAQ,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACjE,CAAC;CACF"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InjectTransactionalAdapter = exports.InjectTransactionContext = exports.InjectTransactionManager = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const constants_1 = require("../tokens/constants");
6
- const token_utils_1 = require("../tokens/token-utils");
1
+ import { Inject } from '@nestjs/common';
2
+ import { DEFAULT_DATA_SOURCE_NAME } from '../tokens/constants.js';
3
+ import { getTransactionContextToken, getTransactionManagerToken, getTransactionalAdapterToken, } from '../tokens/token-utils.js';
7
4
  /**
8
5
  * Inject the per-dataSource `TransactionManager`. Sugar over
9
6
  * `@Inject(getTransactionManagerToken(dataSource))` for IDE
@@ -26,20 +23,17 @@ const token_utils_1 = require("../tokens/token-utils");
26
23
  * }
27
24
  * ```
28
25
  */
29
- const InjectTransactionManager = (dataSource = constants_1.DEFAULT_DATA_SOURCE_NAME) => (0, common_1.Inject)((0, token_utils_1.getTransactionManagerToken)(dataSource));
30
- exports.InjectTransactionManager = InjectTransactionManager;
26
+ export const InjectTransactionManager = (dataSource = DEFAULT_DATA_SOURCE_NAME) => Inject(getTransactionManagerToken(dataSource));
31
27
  /**
32
28
  * Inject the per-dataSource `TransactionContext`. See
33
29
  * {@link InjectTransactionManager} for ergonomics.
34
30
  */
35
- const InjectTransactionContext = (dataSource = constants_1.DEFAULT_DATA_SOURCE_NAME) => (0, common_1.Inject)((0, token_utils_1.getTransactionContextToken)(dataSource));
36
- exports.InjectTransactionContext = InjectTransactionContext;
31
+ export const InjectTransactionContext = (dataSource = DEFAULT_DATA_SOURCE_NAME) => Inject(getTransactionContextToken(dataSource));
37
32
  /**
38
33
  * Inject the per-dataSource `TransactionAdapter` instance. Useful
39
34
  * for advanced consumers that need to call adapter-specific methods
40
35
  * not exposed through `TransactionManager`. See
41
36
  * {@link InjectTransactionManager} for ergonomics.
42
37
  */
43
- const InjectTransactionalAdapter = (dataSource = constants_1.DEFAULT_DATA_SOURCE_NAME) => (0, common_1.Inject)((0, token_utils_1.getTransactionalAdapterToken)(dataSource));
44
- exports.InjectTransactionalAdapter = InjectTransactionalAdapter;
38
+ export const InjectTransactionalAdapter = (dataSource = DEFAULT_DATA_SOURCE_NAME) => Inject(getTransactionalAdapterToken(dataSource));
45
39
  //# sourceMappingURL=inject-decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inject-decorators.js","sourceRoot":"","sources":["../../src/decorators/inject-decorators.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAExC,mDAA+D;AAC/D,uDAI+B;AAE/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,MAAM,wBAAwB,GAAG,CACtC,aAAqB,oCAAwB,EACzB,EAAE,CAAC,IAAA,eAAM,EAAC,IAAA,wCAA0B,EAAC,UAAU,CAAC,CAAC,CAAC;AAF3D,QAAA,wBAAwB,4BAEmC;AAExE;;;GAGG;AACI,MAAM,wBAAwB,GAAG,CACtC,aAAqB,oCAAwB,EACzB,EAAE,CAAC,IAAA,eAAM,EAAC,IAAA,wCAA0B,EAAC,UAAU,CAAC,CAAC,CAAC;AAF3D,QAAA,wBAAwB,4BAEmC;AAExE;;;;;GAKG;AACI,MAAM,0BAA0B,GAAG,CACxC,aAAqB,oCAAwB,EACzB,EAAE,CAAC,IAAA,eAAM,EAAC,IAAA,0CAA4B,EAAC,UAAU,CAAC,CAAC,CAAC;AAF7D,QAAA,0BAA0B,8BAEmC"}
1
+ {"version":3,"file":"inject-decorators.js","sourceRoot":"","sources":["../../src/decorators/inject-decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAqB,wBAAwB,EACzB,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAAqB,wBAAwB,EACzB,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;AAExE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,aAAqB,wBAAwB,EACzB,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,CAAC"}
@@ -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
  * Metadata key under which {@link Transactional} stores its options on a
4
4
  * target (a method's function object or a class constructor). Exposed for
@@ -1,16 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionalOn = exports.ReadOnly = exports.TRANSACTIONAL_METADATA = void 0;
4
- exports.Transactional = Transactional;
5
- exports.getTransactionalMetadata = getTransactionalMetadata;
6
- const propagation_1 = require("../types/propagation");
1
+ import { PropagationMode } from '../types/propagation.js';
7
2
  /**
8
3
  * Metadata key under which {@link Transactional} stores its options on a
9
4
  * target (a method's function object or a class constructor). Exposed for
10
5
  * advanced introspection; most code should use
11
6
  * {@link getTransactionalMetadata}.
12
7
  */
13
- exports.TRANSACTIONAL_METADATA = Symbol('TRANSACTIONAL_METADATA');
8
+ export const TRANSACTIONAL_METADATA = Symbol('TRANSACTIONAL_METADATA');
14
9
  /**
15
10
  * Mark a method or a class as transactional.
16
11
  *
@@ -30,18 +25,18 @@ exports.TRANSACTIONAL_METADATA = Symbol('TRANSACTIONAL_METADATA');
30
25
  *
31
26
  * Default propagation is {@link PropagationMode.REQUIRED}.
32
27
  */
33
- function Transactional(options = {}) {
28
+ export function Transactional(options = {}) {
34
29
  const metadata = {
35
- propagation: propagation_1.PropagationMode.REQUIRED,
30
+ propagation: PropagationMode.REQUIRED,
36
31
  ...options,
37
32
  };
38
33
  const decorator = (target, _propertyKey, descriptor) => {
39
34
  const methodTarget = descriptor?.value;
40
35
  if (typeof methodTarget === 'function') {
41
- Reflect.defineMetadata(exports.TRANSACTIONAL_METADATA, metadata, methodTarget);
36
+ Reflect.defineMetadata(TRANSACTIONAL_METADATA, metadata, methodTarget);
42
37
  }
43
38
  else {
44
- Reflect.defineMetadata(exports.TRANSACTIONAL_METADATA, metadata, target);
39
+ Reflect.defineMetadata(TRANSACTIONAL_METADATA, metadata, target);
45
40
  }
46
41
  };
47
42
  return decorator;
@@ -57,8 +52,7 @@ function Transactional(options = {}) {
57
52
  * stray write fails at the database. Elsewhere — MySQL, SQLite, ... —
58
53
  * the flag documents intent but nothing stops the write.
59
54
  */
60
- const ReadOnly = (options = {}) => Transactional({ ...options, readOnly: true });
61
- exports.ReadOnly = ReadOnly;
55
+ export const ReadOnly = (options = {}) => Transactional({ ...options, readOnly: true });
62
56
  /**
63
57
  * Alias for `@Transactional({ adapterInstance })`. Targets a specific
64
58
  * adapter instance, for multi-datasource setups:
@@ -71,8 +65,7 @@ exports.ReadOnly = ReadOnly;
71
65
  * The `adapterInstance` argument overrides any `adapterInstance` set in the
72
66
  * options object.
73
67
  */
74
- const TransactionalOn = (adapterInstance, options = {}) => Transactional({ ...options, adapterInstance });
75
- exports.TransactionalOn = TransactionalOn;
68
+ export const TransactionalOn = (adapterInstance, options = {}) => Transactional({ ...options, adapterInstance });
76
69
  /**
77
70
  * Read the {@link TransactionalMetadata} stored by {@link Transactional} on
78
71
  * `target`. Returns `undefined` when the target was not decorated.
@@ -80,8 +73,8 @@ exports.TransactionalOn = TransactionalOn;
80
73
  * @param target - A class constructor (for class-level metadata) or a
81
74
  * method function (for method-level metadata).
82
75
  */
83
- function getTransactionalMetadata(target) {
84
- const value = Reflect.getMetadata(exports.TRANSACTIONAL_METADATA, target);
76
+ export function getTransactionalMetadata(target) {
77
+ const value = Reflect.getMetadata(TRANSACTIONAL_METADATA, target);
85
78
  return value;
86
79
  }
87
80
  //# sourceMappingURL=transactional.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactional.decorator.js","sourceRoot":"","sources":["../../src/decorators/transactional.decorator.ts"],"names":[],"mappings":";;;AAsCA,sCAsBC;AAyCD,4DAGC;AAxGD,sDAAuD;AAGvD;;;;;GAKG;AACU,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAUvE;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAC3B,UAA0C,EAAE;IAE5C,MAAM,QAAQ,GAA0B;QACtC,WAAW,EAAE,6BAAe,CAAC,QAAQ;QACrC,GAAG,OAAO;KACX,CAAC;IAEF,MAAM,SAAS,GAAqC,CAClD,MAAc,EACd,YAA8B,EAC9B,UAA+B,EACzB,EAAE;QACR,MAAM,YAAY,GAAY,UAAU,EAAE,KAAK,CAAC;QAChD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,CAAC,cAAc,CAAC,8BAAsB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,8BAAsB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACI,MAAM,QAAQ,GAAG,CACtB,UAA0C,EAAE,EACV,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAFxE,QAAA,QAAQ,YAEgE;AAErF;;;;;;;;;;;GAWG;AACI,MAAM,eAAe,GAAG,CAC7B,eAAuB,EACvB,UAA0C,EAAE,EACV,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AAHzE,QAAA,eAAe,mBAG0D;AAEtF;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,MAAc;IACrD,MAAM,KAAK,GAAY,OAAO,CAAC,WAAW,CAAC,8BAAsB,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,KAA0C,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"transactional.decorator.js","sourceRoot":"","sources":["../../src/decorators/transactional.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAUvE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAC3B,UAA0C,EAAE;IAE5C,MAAM,QAAQ,GAA0B;QACtC,WAAW,EAAE,eAAe,CAAC,QAAQ;QACrC,GAAG,OAAO;KACX,CAAC;IAEF,MAAM,SAAS,GAAqC,CAClD,MAAc,EACd,YAA8B,EAC9B,UAA+B,EACzB,EAAE;QACR,MAAM,YAAY,GAAY,UAAU,EAAE,KAAK,CAAC;QAChD,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,CAAC,cAAc,CAAC,sBAAsB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,cAAc,CAAC,sBAAsB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,UAA0C,EAAE,EACV,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAErF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,eAAuB,EACvB,UAA0C,EAAE,EACV,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAc;IACrD,MAAM,KAAK,GAAY,OAAO,CAAC,WAAW,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,KAA0C,CAAC;AACpD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- export * from './types/propagation';
2
- export * from './types/isolation';
3
- export * from './types/transaction-handle';
4
- export * from './types/transaction-options';
5
- export * from './types/transaction-adapter';
6
- export * from './types/domain-event';
7
- export * from './types/errors';
8
- export * from './context/transaction.context';
9
- export * from './context/transaction-context-view';
10
- export * from './manager/adapter.registry';
11
- export * from './manager/transaction.manager';
12
- export * from './decorators/transactional.decorator';
13
- export * from './decorators/inject-decorators';
14
- export * from './tokens';
15
- export * from './interceptor/transactional.interceptor';
16
- export * from './bootstrap/transactional-methods.bootstrap';
17
- export * from './module/transactional.module';
18
- export * from './observability/transaction-observer';
1
+ export * from './types/propagation.js';
2
+ export * from './types/isolation.js';
3
+ export * from './types/transaction-handle.js';
4
+ export * from './types/transaction-options.js';
5
+ export * from './types/transaction-adapter.js';
6
+ export * from './types/domain-event.js';
7
+ export * from './types/errors.js';
8
+ export * from './context/transaction.context.js';
9
+ export * from './context/transaction-context-view.js';
10
+ export * from './manager/adapter.registry.js';
11
+ export * from './manager/transaction.manager.js';
12
+ export * from './decorators/transactional.decorator.js';
13
+ export * from './decorators/inject-decorators.js';
14
+ export * from './tokens/index.js';
15
+ export * from './interceptor/transactional.interceptor.js';
16
+ export * from './bootstrap/transactional-methods.bootstrap.js';
17
+ export * from './module/transactional.module.js';
18
+ export * from './observability/transaction-observer.js';
19
19
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,35 +1,19 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types/propagation"), exports);
18
- __exportStar(require("./types/isolation"), exports);
19
- __exportStar(require("./types/transaction-handle"), exports);
20
- __exportStar(require("./types/transaction-options"), exports);
21
- __exportStar(require("./types/transaction-adapter"), exports);
22
- __exportStar(require("./types/domain-event"), exports);
23
- __exportStar(require("./types/errors"), exports);
24
- __exportStar(require("./context/transaction.context"), exports);
25
- __exportStar(require("./context/transaction-context-view"), exports);
26
- __exportStar(require("./manager/adapter.registry"), exports);
27
- __exportStar(require("./manager/transaction.manager"), exports);
28
- __exportStar(require("./decorators/transactional.decorator"), exports);
29
- __exportStar(require("./decorators/inject-decorators"), exports);
30
- __exportStar(require("./tokens"), exports);
31
- __exportStar(require("./interceptor/transactional.interceptor"), exports);
32
- __exportStar(require("./bootstrap/transactional-methods.bootstrap"), exports);
33
- __exportStar(require("./module/transactional.module"), exports);
34
- __exportStar(require("./observability/transaction-observer"), exports);
1
+ export * from './types/propagation.js';
2
+ export * from './types/isolation.js';
3
+ export * from './types/transaction-handle.js';
4
+ export * from './types/transaction-options.js';
5
+ export * from './types/transaction-adapter.js';
6
+ export * from './types/domain-event.js';
7
+ export * from './types/errors.js';
8
+ export * from './context/transaction.context.js';
9
+ export * from './context/transaction-context-view.js';
10
+ export * from './manager/adapter.registry.js';
11
+ export * from './manager/transaction.manager.js';
12
+ export * from './decorators/transactional.decorator.js';
13
+ export * from './decorators/inject-decorators.js';
14
+ export * from './tokens/index.js';
15
+ export * from './interceptor/transactional.interceptor.js';
16
+ export * from './bootstrap/transactional-methods.bootstrap.js';
17
+ export * from './module/transactional.module.js';
18
+ export * from './observability/transaction-observer.js';
35
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,oDAAkC;AAClC,6DAA2C;AAC3C,8DAA4C;AAC5C,8DAA4C;AAC5C,uDAAqC;AACrC,iDAA+B;AAE/B,gEAA8C;AAC9C,qEAAmD;AACnD,6DAA2C;AAC3C,gEAA8C;AAE9C,uEAAqD;AACrD,iEAA+C;AAE/C,2CAAyB;AAEzB,0EAAwD;AACxD,8EAA4D;AAC5D,gEAA8C;AAE9C,uEAAqD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAElC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAElD,cAAc,mBAAmB,CAAC;AAElC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kCAAkC,CAAC;AAEjD,cAAc,yCAAyC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type CallHandler, type ExecutionContext, type NestInterceptor } from '@nestjs/common';
2
2
  import { Reflector } from '@nestjs/core';
3
3
  import { type Observable } from 'rxjs';
4
- import { TransactionManager } from '../manager/transaction.manager';
4
+ import { TransactionManager } from '../manager/transaction.manager.js';
5
5
  /**
6
6
  * NestJS interceptor that wraps a request-boundary handler in a transaction
7
7
  * when the handler (or its controller class) carries `@Transactional()`
@@ -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);
@@ -8,13 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
7
  var __metadata = (this && this.__metadata) || function (k, v) {
9
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.TransactionalInterceptor = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const core_1 = require("@nestjs/core");
15
- const rxjs_1 = require("rxjs");
16
- const transactional_decorator_1 = require("../decorators/transactional.decorator");
17
- const transaction_manager_1 = require("../manager/transaction.manager");
10
+ import { Injectable, } from '@nestjs/common';
11
+ import { Reflector } from '@nestjs/core';
12
+ import { defer, firstValueFrom } from 'rxjs';
13
+ import { TRANSACTIONAL_METADATA, } from '../decorators/transactional.decorator.js';
14
+ import { TransactionManager } from '../manager/transaction.manager.js';
18
15
  /**
19
16
  * NestJS interceptor that wraps a request-boundary handler in a transaction
20
17
  * when the handler (or its controller class) carries `@Transactional()`
@@ -40,17 +37,17 @@ let TransactionalInterceptor = class TransactionalInterceptor {
40
37
  this.reflector = reflector;
41
38
  }
42
39
  intercept(context, next) {
43
- const metadata = this.reflector.getAllAndOverride(transactional_decorator_1.TRANSACTIONAL_METADATA, [context.getHandler(), context.getClass()]);
40
+ const metadata = this.reflector.getAllAndOverride(TRANSACTIONAL_METADATA, [context.getHandler(), context.getClass()]);
44
41
  if (metadata === undefined) {
45
42
  return next.handle();
46
43
  }
47
- return (0, rxjs_1.defer)(() => this.manager.run(metadata, () => (0, rxjs_1.firstValueFrom)(next.handle())));
44
+ return defer(() => this.manager.run(metadata, () => firstValueFrom(next.handle())));
48
45
  }
49
46
  };
50
- exports.TransactionalInterceptor = TransactionalInterceptor;
51
- exports.TransactionalInterceptor = TransactionalInterceptor = __decorate([
52
- (0, common_1.Injectable)(),
53
- __metadata("design:paramtypes", [transaction_manager_1.TransactionManager,
54
- core_1.Reflector])
47
+ TransactionalInterceptor = __decorate([
48
+ Injectable(),
49
+ __metadata("design:paramtypes", [TransactionManager,
50
+ Reflector])
55
51
  ], TransactionalInterceptor);
52
+ export { TransactionalInterceptor };
56
53
  //# sourceMappingURL=transactional.interceptor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transactional.interceptor.js","sourceRoot":"","sources":["../../src/interceptor/transactional.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAKwB;AACxB,uCAAyC;AACzC,+BAA8D;AAE9D,mFAG+C;AAC/C,wEAAoE;AAEpE;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEhB;IACA;IAFnB,YACmB,OAA2B,EAC3B,SAAoB;QADpB,YAAO,GAAP,OAAO,CAAoB;QAC3B,cAAS,GAAT,SAAS,CAAW;IACpC,CAAC;IAEJ,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC/C,gDAAsB,EACtB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,qBAAc,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;CACF,CAAA;AAlBY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAGiB,wCAAkB;QAChB,gBAAS;GAH5B,wBAAwB,CAkBpC"}
1
+ {"version":3,"file":"transactional.interceptor.js","sourceRoot":"","sources":["../../src/interceptor/transactional.interceptor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAGL,UAAU,GAEX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAmB,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAE9D,OAAO,EACL,sBAAsB,GAEvB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEhB;IACA;IAFnB,YACmB,OAA2B,EAC3B,SAAoB;QADpB,YAAO,GAAP,OAAO,CAAoB;QAC3B,cAAS,GAAT,SAAS,CAAW;IACpC,CAAC;IAEJ,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC/C,sBAAsB,EACtB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC3C,CAAC;QAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;CACF,CAAA;AAlBY,wBAAwB;IADpC,UAAU,EAAE;qCAGiB,kBAAkB;QAChB,SAAS;GAH5B,wBAAwB,CAkBpC"}
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WRAPPED_MARKER = void 0;
4
1
  /**
5
2
  * Identity marker placed via `Reflect.defineMetadata` on methods that have
6
3
  * been wrapped by one of the coordinated wrapping mechanisms described in
@@ -14,5 +11,5 @@ exports.WRAPPED_MARKER = void 0;
14
11
  * Internal: not re-exported from the public API. The three wrapping
15
12
  * mechanisms are the only legitimate users.
16
13
  */
17
- exports.WRAPPED_MARKER = Symbol.for('@nestjs-transactional/wrapped');
14
+ export const WRAPPED_MARKER = Symbol.for('@nestjs-transactional/wrapped');
18
15
  //# sourceMappingURL=markers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/internal/markers.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACU,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC"}
1
+ {"version":3,"file":"markers.js","sourceRoot":"","sources":["../../src/internal/markers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { TransactionAdapter } from '../types/transaction-adapter';
1
+ import type { TransactionAdapter } from '../types/transaction-adapter.js';
2
2
  /**
3
3
  * A single entry in the {@link AdapterRegistry}: an adapter instance bound to
4
4
  * its type name and instance name. Used as both the input shape of