@nestjs-transactional/typeorm 1.0.0-alpha.5 → 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.
@@ -1,7 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeOrmTransactionAdapter = void 0;
4
- const node_crypto_1 = require("node:crypto");
1
+ import { randomUUID } from 'node:crypto';
2
+ import { IllegalTransactionStateError, } from '@nestjs-transactional/core';
5
3
  /**
6
4
  * TypeORM implementation of {@link TransactionAdapter}. Delegates begin /
7
5
  * commit / rollback to `DataSource.transaction` and emits raw `SAVEPOINT`
@@ -11,8 +9,14 @@ const node_crypto_1 = require("node:crypto");
11
9
  * Only `isolation` from {@link TransactionOptions} is forwarded today.
12
10
  * `readOnly` and `timeout` are accepted for forward compatibility but do
13
11
  * not yet map to per-dialect statements.
12
+ *
13
+ * `PropagationMode.NESTED` needs savepoints, so `runInSavepoint` first
14
+ * checks the driver's own capability flag and rejects with
15
+ * `IllegalTransactionStateError` on drivers that cannot do them (SQL
16
+ * Server, SAP HANA, MongoDB, Spanner, Cordova) instead of emitting SQL
17
+ * they will refuse.
14
18
  */
15
- class TypeOrmTransactionAdapter {
19
+ export class TypeOrmTransactionAdapter {
16
20
  dataSource;
17
21
  instanceName;
18
22
  name = 'typeorm';
@@ -37,8 +41,11 @@ class TypeOrmTransactionAdapter {
37
41
  async runInTransaction(options, fn) {
38
42
  const isolation = mapIsolation(options.isolation);
39
43
  const runner = async (entityManager) => {
44
+ if (options.readOnly === true) {
45
+ await applyReadOnly(entityManager, this.dataSource.options.type);
46
+ }
40
47
  const handle = {
41
- id: (0, node_crypto_1.randomUUID)(),
48
+ id: randomUUID(),
42
49
  adapterName: this.name,
43
50
  entityManager,
44
51
  };
@@ -50,7 +57,8 @@ class TypeOrmTransactionAdapter {
50
57
  return this.dataSource.transaction(runner);
51
58
  }
52
59
  async runInSavepoint(parent, fn) {
53
- const savepointName = `sp_${(0, node_crypto_1.randomUUID)().replace(/-/g, '_').substring(0, 30)}`;
60
+ this.assertSavepointsSupported();
61
+ const savepointName = `sp_${randomUUID().replace(/-/g, '_').substring(0, 30)}`;
54
62
  await parent.entityManager.query(`SAVEPOINT ${savepointName}`);
55
63
  try {
56
64
  const result = await fn(parent);
@@ -62,8 +70,73 @@ class TypeOrmTransactionAdapter {
62
70
  throw err;
63
71
  }
64
72
  }
73
+ /**
74
+ * Fail fast when the configured driver cannot do savepoints, rather
75
+ * than emitting `SAVEPOINT` SQL it will reject with an opaque
76
+ * driver-level error that says nothing about `NESTED` propagation.
77
+ *
78
+ * TypeORM reports the capability itself — `driver.transactionSupport`
79
+ * is `'nested'` for the savepoint-capable drivers (Postgres, MySQL,
80
+ * Oracle, SQLite, CockroachDB, ...), `'simple'` for SQL Server and
81
+ * SAP HANA, and `'none'` for MongoDB, Spanner and Cordova. Reading the
82
+ * flag beats maintaining our own dialect allowlist, which would rot
83
+ * with every driver TypeORM adds.
84
+ *
85
+ * Deliberately permissive when the flag is missing: a TypeORM version
86
+ * that renames or drops it must not turn every `NESTED` call into a
87
+ * hard failure, since absence of the signal is not evidence of absent
88
+ * support.
89
+ */
90
+ assertSavepointsSupported() {
91
+ const support = this.dataSource.driver
92
+ ?.transactionSupport;
93
+ if (support !== undefined && support !== 'nested') {
94
+ throw new IllegalTransactionStateError(`PropagationMode.NESTED needs savepoints, which the '${this.dataSource.options.type}' ` +
95
+ `driver does not support (TypeORM reports transactionSupport: '${support}'). ` +
96
+ "Use PropagationMode.REQUIRED to join the caller's transaction, or " +
97
+ 'REQUIRES_NEW for an independent one.');
98
+ }
99
+ }
100
+ }
101
+ /**
102
+ * Dialects where `SET TRANSACTION READ ONLY` is valid after `BEGIN`,
103
+ * provided it precedes the transaction's first query.
104
+ *
105
+ * An explicit allowlist, unlike the savepoint check above: TypeORM
106
+ * publishes a capability flag for nested transactions
107
+ * (`driver.transactionSupport`) but none for transaction access mode, so
108
+ * there is nothing to read. **Review this list when a driver is added.**
109
+ *
110
+ * MySQL and MariaDB are absent on purpose rather than by omission —
111
+ * `SET TRANSACTION` there applies to the *next* transaction and raises
112
+ * `ERROR 1568` inside a started one, so read-only would have to be set
113
+ * at `START TRANSACTION` time, which TypeORM does not expose. See
114
+ * DD-027.
115
+ */
116
+ const READ_ONLY_DIALECTS = new Set([
117
+ 'postgres',
118
+ 'cockroachdb',
119
+ 'aurora-postgres',
120
+ ]);
121
+ /**
122
+ * Ask the database to reject writes for the remainder of this
123
+ * transaction, on the dialects that can do it.
124
+ *
125
+ * A silent no-op elsewhere, deliberately: `CqrsTransactionalModule`
126
+ * defaults every query handler to `readOnly: true`, so throwing here
127
+ * would break consumers on MySQL or SQLite over an option they never
128
+ * set. `readOnly` is a hint in Spring too — honoured where possible
129
+ * (DD-027).
130
+ *
131
+ * Must run before any user statement; Postgres rejects the statement
132
+ * once the transaction has executed its first query.
133
+ */
134
+ async function applyReadOnly(entityManager, dialect) {
135
+ if (!READ_ONLY_DIALECTS.has(dialect)) {
136
+ return;
137
+ }
138
+ await entityManager.query('SET TRANSACTION READ ONLY');
65
139
  }
66
- exports.TypeOrmTransactionAdapter = TypeOrmTransactionAdapter;
67
140
  /**
68
141
  * Map the core's underscore-style {@link IsolationLevel} to TypeORM's
69
142
  * space-separated string. Returns `undefined` when no level is set so the
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm.adapter.js","sourceRoot":"","sources":["../../src/adapter/typeorm.adapter.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAsBzC;;;;;;;;;GASG;AACH,MAAa,yBAAyB;IAIjB;IAMR;IATF,IAAI,GAAG,SAAS,CAAC;IAE1B,YACmB,UAAsB;IACvC;;;;OAIG;IACM,YAAoB;QANZ,eAAU,GAAV,UAAU,CAAY;QAM9B,iBAAY,GAAZ,YAAY,CAAQ;IAC5B,CAAC;IAEJ;;;;OAIG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAA2B,EAC3B,EAAoD;QAEpD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,KAAK,EAAE,aAA4B,EAAc,EAAE;YAChE,MAAM,MAAM,GAA6B;gBACvC,EAAE,EAAE,IAAA,wBAAU,GAAE;gBAChB,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,aAAa;aACd,CAAC;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAgC,EAChC,EAAoD;QAEpD,MAAM,aAAa,GAAG,MAAM,IAAA,wBAAU,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAE/E,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;YAC3E,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AA5DD,8DA4DC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAiC;IACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAA0B,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"typeorm.adapter.js","sourceRoot":"","sources":["../../src/adapter/typeorm.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,4BAA4B,GAI7B,MAAM,4BAA4B,CAAC;AAapC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,yBAAyB;IAIjB;IAMR;IATF,IAAI,GAAG,SAAS,CAAC;IAE1B,YACmB,UAAsB;IACvC;;;;OAIG;IACM,YAAoB;QANZ,eAAU,GAAV,UAAU,CAAY;QAM9B,iBAAY,GAAZ,YAAY,CAAQ;IAC5B,CAAC;IAEJ;;;;OAIG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAA2B,EAC3B,EAAoD;QAEpD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,KAAK,EAAE,aAA4B,EAAc,EAAE;YAChE,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,MAAM,GAA6B;gBACvC,EAAE,EAAE,UAAU,EAAE;gBAChB,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,aAAa;aACd,CAAC;YACF,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAgC,EAChC,EAAoD;QAEpD,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,MAAM,aAAa,GAAG,MAAM,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAE/E,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC;YACvE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,yBAAyB,aAAa,EAAE,CAAC,CAAC;YAC3E,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,yBAAyB;QAC/B,MAAM,OAAO,GAAI,IAAI,CAAC,UAAU,CAAC,MAAsD;YACrF,EAAE,kBAAkB,CAAC;QAEvB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,4BAA4B,CACpC,uDAAuD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI;gBACrF,iEAAiE,OAAO,MAAM;gBAC9E,oEAAoE;gBACpE,sCAAsC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,UAAU;IACV,aAAa;IACb,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,aAAa,CAAC,aAA4B,EAAE,OAAe;IACxE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IACD,MAAM,aAAa,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,KAAiC;IACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAA0B,CAAC;AAC3D,CAAC"}
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCurrentEntityManager = getCurrentEntityManager;
4
- exports.isInTransaction = isInTransaction;
5
- const core_1 = require("@nestjs-transactional/core");
1
+ import { IllegalTransactionStateError, TransactionContext } from '@nestjs-transactional/core';
6
2
  /**
7
3
  * Compose the `TransactionContext` lookup key for the TypeORM adapter.
8
4
  * Must match the `${adapterName}:${instanceName}` format that
@@ -30,15 +26,15 @@ function typeOrmContextKey(adapterInstance) {
30
26
  * @param adapterInstance - Adapter instance name. Defaults to `'default'`.
31
27
  * @param fallback - DataSource used when no transaction is active.
32
28
  */
33
- function getCurrentEntityManager(adapterInstance = 'default', fallback) {
34
- const active = core_1.TransactionContext.getActiveTransaction(typeOrmContextKey(adapterInstance));
29
+ export function getCurrentEntityManager(adapterInstance = 'default', fallback) {
30
+ const active = TransactionContext.getActiveTransaction(typeOrmContextKey(adapterInstance));
35
31
  if (active !== undefined) {
36
32
  return active.handle.entityManager;
37
33
  }
38
34
  if (fallback !== undefined) {
39
35
  return fallback.manager;
40
36
  }
41
- throw new core_1.IllegalTransactionStateError(`No active transaction for 'typeorm:${adapterInstance}' and no fallback DataSource ` +
37
+ throw new IllegalTransactionStateError(`No active transaction for 'typeorm:${adapterInstance}' and no fallback DataSource ` +
42
38
  `provided. Either wrap the call with @Transactional() or pass a DataSource as fallback.`);
43
39
  }
44
40
  /**
@@ -46,7 +42,7 @@ function getCurrentEntityManager(adapterInstance = 'default', fallback) {
46
42
  * instance? Useful to guard side effects that must only fire inside a
47
43
  * transaction.
48
44
  */
49
- function isInTransaction(adapterInstance = 'default') {
50
- return core_1.TransactionContext.getActiveTransaction(typeOrmContextKey(adapterInstance)) !== undefined;
45
+ export function isInTransaction(adapterInstance = 'default') {
46
+ return TransactionContext.getActiveTransaction(typeOrmContextKey(adapterInstance)) !== undefined;
51
47
  }
52
48
  //# sourceMappingURL=get-entity-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-entity-manager.js","sourceRoot":"","sources":["../../src/helpers/get-entity-manager.ts"],"names":[],"mappings":";;AAiCA,0DAkBC;AAOD,0CAEC;AA5DD,qDAA8F;AAK9F;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,eAAuB;IAChD,OAAO,WAAW,eAAe,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,uBAAuB,CACrC,eAAe,GAAG,SAAS,EAC3B,QAAqB;IAErB,MAAM,MAAM,GAAG,yBAAkB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAQ,MAAM,CAAC,MAAmC,CAAC,aAAa,CAAC;IACnE,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,mCAA4B,CACpC,sCAAsC,eAAe,+BAA+B;QAClF,wFAAwF,CAC3F,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,eAAe,GAAG,SAAS;IACzD,OAAO,yBAAkB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,KAAK,SAAS,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"get-entity-manager.js","sourceRoot":"","sources":["../../src/helpers/get-entity-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAK9F;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,eAAuB;IAChD,OAAO,WAAW,eAAe,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB,CACrC,eAAe,GAAG,SAAS,EAC3B,QAAqB;IAErB,MAAM,MAAM,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAQ,MAAM,CAAC,MAAmC,CAAC,aAAa,CAAC;IACnE,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,IAAI,4BAA4B,CACpC,sCAAsC,eAAe,+BAA+B;QAClF,wFAAwF,CAC3F,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,eAAe,GAAG,SAAS;IACzD,OAAO,kBAAkB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,KAAK,SAAS,CAAC;AACnG,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export * from './types/typeorm-transaction-handle';
2
- export * from './adapter/typeorm.adapter';
3
- export * from './helpers/get-entity-manager';
4
- export * from './module/typeorm-transactional.module';
1
+ export * from './types/typeorm-transaction-handle.js';
2
+ export * from './adapter/typeorm.adapter.js';
3
+ export * from './helpers/get-entity-manager.js';
4
+ export * from './module/typeorm-transactional.module.js';
5
5
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,21 +1,5 @@
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/typeorm-transaction-handle"), exports);
18
- __exportStar(require("./adapter/typeorm.adapter"), exports);
19
- __exportStar(require("./helpers/get-entity-manager"), exports);
20
- __exportStar(require("./module/typeorm-transactional.module"), exports);
1
+ export * from './types/typeorm-transaction-handle.js';
2
+ export * from './adapter/typeorm.adapter.js';
3
+ export * from './helpers/get-entity-manager.js';
4
+ export * from './module/typeorm-transactional.module.js';
21
5
  //# 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,qEAAmD;AACnD,4DAA0C;AAC1C,+DAA6C;AAC7C,wEAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0CAA0C,CAAC"}
@@ -2,7 +2,7 @@ import { type DynamicModule, type InjectionToken, type ModuleMetadata } from '@n
2
2
  /**
3
3
  * Options accepted by {@link TypeOrmTransactionalModule.forRoot}.
4
4
  *
5
- * Phase 14.20 reshape: this module now resolves the actual TypeORM
5
+ * Reshaped so this module now resolves the actual TypeORM
6
6
  * `DataSource` via DI (using `getDataSourceToken` from
7
7
  * `@nestjs/typeorm`) instead of taking it as a constructor argument.
8
8
  * The new contract is "TypeORM is configured by `@nestjs/typeorm`'s
@@ -41,7 +41,7 @@ export interface TypeOrmTransactionalOptions {
41
41
  * populates as a side effect.
42
42
  *
43
43
  * Mirrors the documented limitation on
44
- * `TransactionalModule.forRootAsync` (Phase 14.10).
44
+ * `TransactionalModule.forRootAsync`.
45
45
  */
46
46
  export interface TypeOrmTransactionalAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
47
47
  readonly useFactory: (...args: never[]) => Promise<TypeOrmTransactionalOptions> | TypeOrmTransactionalOptions;
@@ -50,7 +50,7 @@ export interface TypeOrmTransactionalAsyncOptions extends Pick<ModuleMetadata, '
50
50
  /**
51
51
  * NestJS module that binds a TypeORM {@link DataSource} to the core
52
52
  * {@link AdapterRegistry} as a transactional adapter AND activates
53
- * the transparent transactional patching machinery (Phase 14.20).
53
+ * the transparent transactional patching machinery.
54
54
  * Once registered:
55
55
  *
56
56
  * - Every `Repository` reachable via `@InjectRepository`,
@@ -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,14 +11,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
11
  return function (target, key) { decorator(target, key, paramIndex); }
13
12
  };
14
13
  var TypeOrmTransactionalModule_1;
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.TypeOrmTransactionalModule = void 0;
17
- const common_1 = require("@nestjs/common");
18
- const core_1 = require("@nestjs/core");
19
- const typeorm_1 = require("@nestjs/typeorm");
20
- const core_2 = require("@nestjs-transactional/core");
21
- const typeorm_adapter_1 = require("../adapter/typeorm.adapter");
22
- const patching_1 = require("../patching");
14
+ import { Inject, Injectable, Module, } from '@nestjs/common';
15
+ import { ModuleRef } from '@nestjs/core';
16
+ import { getDataSourceToken } from '@nestjs/typeorm';
17
+ import { ADAPTER_REGISTRY, AdapterRegistry, getTransactionalAdapterToken, } from '@nestjs-transactional/core';
18
+ import { TypeOrmTransactionAdapter } from '../adapter/typeorm.adapter.js';
19
+ import { applyAllPatches, markAsManaged, patchDataSourceInstance, resetPatchingForTesting, } from '../patching/index.js';
23
20
  // ---------------------------------------------------------------
24
21
  // Apply Repository / EntityManager prototype patches at MODULE-LOAD
25
22
  // time, NOT at `forRoot` factory time.
@@ -41,12 +38,12 @@ const patching_1 = require("../patching");
41
38
  // import (e.g. a stale duplicate copy on disk under pnpm hoist
42
39
  // glitches) is a no-op via the install-once flag inside each patch.
43
40
  // ---------------------------------------------------------------
44
- (0, patching_1.applyAllPatches)();
41
+ applyAllPatches();
45
42
  const ASYNC_OPTIONS_TOKEN = (id) => Symbol(`TYPEORM_TRANSACTIONAL_ASYNC_OPTIONS[${id}]`);
46
43
  /**
47
44
  * NestJS module that binds a TypeORM {@link DataSource} to the core
48
45
  * {@link AdapterRegistry} as a transactional adapter AND activates
49
- * the transparent transactional patching machinery (Phase 14.20).
46
+ * the transparent transactional patching machinery.
50
47
  * Once registered:
51
48
  *
52
49
  * - Every `Repository` reachable via `@InjectRepository`,
@@ -114,7 +111,7 @@ let TypeOrmTransactionalModule = class TypeOrmTransactionalModule {
114
111
  * @internal
115
112
  */
116
113
  static resetForTesting() {
117
- (0, patching_1.resetPatchingForTesting)();
114
+ resetPatchingForTesting();
118
115
  this.asyncCounter = 0;
119
116
  }
120
117
  /**
@@ -134,8 +131,8 @@ let TypeOrmTransactionalModule = class TypeOrmTransactionalModule {
134
131
  */
135
132
  static forRoot(options = {}) {
136
133
  const dataSourceName = options.dataSource ?? 'default';
137
- const dataSourceToken = (0, typeorm_1.getDataSourceToken)(dataSourceName);
138
- const adapterToken = (0, core_2.getTransactionalAdapterToken)(dataSourceName);
134
+ const dataSourceToken = getDataSourceToken(dataSourceName);
135
+ const adapterToken = getTransactionalAdapterToken(dataSourceName);
139
136
  const adapterProvider = {
140
137
  provide: adapterToken,
141
138
  useFactory: (ds, registry) => registerManagedDataSource({
@@ -144,7 +141,7 @@ let TypeOrmTransactionalModule = class TypeOrmTransactionalModule {
144
141
  isDefault: options.isDefault ?? false,
145
142
  registry,
146
143
  }),
147
- inject: [dataSourceToken, core_2.ADAPTER_REGISTRY],
144
+ inject: [dataSourceToken, ADAPTER_REGISTRY],
148
145
  };
149
146
  return {
150
147
  module: TypeOrmTransactionalModule_1,
@@ -190,7 +187,7 @@ let TypeOrmTransactionalModule = class TypeOrmTransactionalModule {
190
187
  // (or even `moduleRef.get`) cascaded into a hard-to-diagnose
191
188
  // `Invalid value used in weak set` followed by
192
189
  // `this.postgres.Pool is not a constructor` when paired with
193
- // `TypeOrmModule.forRootAsync` (Phase 14.8e Convention #22).
190
+ // `TypeOrmModule.forRootAsync` (Convention #22).
194
191
  //
195
192
  // The robust pattern is `OnModuleInit`: by the time the hook
196
193
  // runs, every provider in the module tree has been instantiated
@@ -211,10 +208,10 @@ let TypeOrmTransactionalModule = class TypeOrmTransactionalModule {
211
208
  };
212
209
  }
213
210
  };
214
- exports.TypeOrmTransactionalModule = TypeOrmTransactionalModule;
215
- exports.TypeOrmTransactionalModule = TypeOrmTransactionalModule = TypeOrmTransactionalModule_1 = __decorate([
216
- (0, common_1.Module)({})
211
+ TypeOrmTransactionalModule = TypeOrmTransactionalModule_1 = __decorate([
212
+ Module({})
217
213
  ], TypeOrmTransactionalModule);
214
+ export { TypeOrmTransactionalModule };
218
215
  /**
219
216
  * Generate a unique `OnModuleInit` registration class per
220
217
  * `forRootAsync` call. The class injects the async-resolved
@@ -242,7 +239,7 @@ function createAsyncRegistrationClass(id, asyncToken) {
242
239
  }
243
240
  onModuleInit() {
244
241
  const dataSourceName = this.resolved.dataSource ?? 'default';
245
- const dataSourceToken = (0, typeorm_1.getDataSourceToken)(dataSourceName);
242
+ const dataSourceToken = getDataSourceToken(dataSourceName);
246
243
  const ds = this.moduleRef.get(dataSourceToken, {
247
244
  strict: false,
248
245
  });
@@ -255,11 +252,11 @@ function createAsyncRegistrationClass(id, asyncToken) {
255
252
  }
256
253
  };
257
254
  TypeOrmTransactionalAsyncRegistration = __decorate([
258
- (0, common_1.Injectable)(),
259
- __param(0, (0, common_1.Inject)(asyncToken)),
260
- __param(1, (0, common_1.Inject)(core_2.ADAPTER_REGISTRY)),
261
- __metadata("design:paramtypes", [Object, core_2.AdapterRegistry,
262
- core_1.ModuleRef])
255
+ Injectable(),
256
+ __param(0, Inject(asyncToken)),
257
+ __param(1, Inject(ADAPTER_REGISTRY)),
258
+ __metadata("design:paramtypes", [Object, AdapterRegistry,
259
+ ModuleRef])
263
260
  ], TypeOrmTransactionalAsyncRegistration);
264
261
  // Distinguish each generated class so a TypeScript reflection /
265
262
  // logging consumer can tell them apart. Class identity itself is
@@ -279,10 +276,10 @@ function createAsyncRegistrationClass(id, asyncToken) {
279
276
  */
280
277
  function registerManagedDataSource(args) {
281
278
  const { dataSource, dataSourceName, isDefault, registry } = args;
282
- (0, patching_1.applyAllPatches)();
283
- (0, patching_1.markAsManaged)(dataSource, dataSourceName);
284
- (0, patching_1.patchDataSourceInstance)(dataSource);
285
- const adapter = new typeorm_adapter_1.TypeOrmTransactionAdapter(dataSource, dataSourceName);
279
+ applyAllPatches();
280
+ markAsManaged(dataSource, dataSourceName);
281
+ patchDataSourceInstance(dataSource);
282
+ const adapter = new TypeOrmTransactionAdapter(dataSource, dataSourceName);
286
283
  registry.register({ adapterName: 'typeorm', instanceName: dataSourceName, adapter }, isDefault);
287
284
  return adapter;
288
285
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm-transactional.module.js","sourceRoot":"","sources":["../../src/module/typeorm-transactional.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeorm-transactional.module.js","sourceRoot":"","sources":["../../src/module/typeorm-transactional.module.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment */
1
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-argument */
3
2
  // The patching machinery overrides instance-level methods on
4
3
  // TypeORM `DataSource` objects (`manager` getter/setter,
5
4
  // `query`, `createQueryBuilder`) via runtime property descriptors.
@@ -7,10 +6,8 @@
7
6
  // TypeORM's generic signatures don't survive the wrap; the runtime
8
7
  // contract is documented in JSDoc above each patch. File-level
9
8
  // disable keeps the patch code readable.
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.patchDataSourceInstance = patchDataSourceInstance;
12
- const managed_registry_1 = require("./managed-registry");
13
- const symbols_1 = require("./symbols");
9
+ import { getActiveEntityManager, getManagedDataSourceName } from './managed-registry.js';
10
+ import { TYPEORM_DATA_SOURCE_PATCHED } from './symbols.js';
14
11
  /**
15
12
  * Apply per-instance patches to a single `DataSource` at the time
16
13
  * it's registered as managed. Three patches go on the instance
@@ -56,9 +53,9 @@ const symbols_1 = require("./symbols");
56
53
  * destroy the DataSource and create a fresh one (the standard
57
54
  * pattern; integration tests already do this in `afterAll`).
58
55
  */
59
- function patchDataSourceInstance(dataSource) {
56
+ export function patchDataSourceInstance(dataSource) {
60
57
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
- if (dataSource[symbols_1.TYPEORM_DATA_SOURCE_PATCHED] === true) {
58
+ if (dataSource[TYPEORM_DATA_SOURCE_PATCHED] === true) {
62
59
  return;
63
60
  }
64
61
  // (1) `manager` — getter/setter on the instance.
@@ -66,11 +63,11 @@ function patchDataSourceInstance(dataSource) {
66
63
  Object.defineProperty(dataSource, 'manager', {
67
64
  configurable: true,
68
65
  get() {
69
- const dsName = (0, managed_registry_1.getManagedDataSourceName)(dataSource);
66
+ const dsName = getManagedDataSourceName(dataSource);
70
67
  if (dsName === undefined) {
71
68
  return originalManager;
72
69
  }
73
- const active = (0, managed_registry_1.getActiveEntityManager)(dsName);
70
+ const active = getActiveEntityManager(dsName);
74
71
  return active ?? originalManager;
75
72
  },
76
73
  set(manager) {
@@ -120,7 +117,7 @@ function patchDataSourceInstance(dataSource) {
120
117
  };
121
118
  // Stamp marker so re-entry is a no-op.
122
119
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
123
- dataSource[symbols_1.TYPEORM_DATA_SOURCE_PATCHED] = true;
120
+ dataSource[TYPEORM_DATA_SOURCE_PATCHED] = true;
124
121
  }
125
122
  /**
126
123
  * Helper — look up the active transactional EntityManager for this
@@ -129,11 +126,11 @@ function patchDataSourceInstance(dataSource) {
129
126
  * `createQueryBuilder` patches share one resolution rule.
130
127
  */
131
128
  function pickActiveQueryRunner(ds) {
132
- const dsName = (0, managed_registry_1.getManagedDataSourceName)(ds);
129
+ const dsName = getManagedDataSourceName(ds);
133
130
  if (dsName === undefined) {
134
131
  return undefined;
135
132
  }
136
- const active = (0, managed_registry_1.getActiveEntityManager)(dsName);
133
+ const active = getActiveEntityManager(dsName);
137
134
  return active?.queryRunner;
138
135
  }
139
136
  //# sourceMappingURL=data-source-patches.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-source-patches.js","sourceRoot":"","sources":["../../src/patching/data-source-patches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-source-patches.js","sourceRoot":"","sources":["../../src/patching/data-source-patches.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,6DAA6D;AAC7D,yDAAyD;AACzD,mEAAmE;AACnE,kEAAkE;AAClE,mEAAmE;AACnE,+DAA+D;AAC/D,yCAAyC;AAIzC,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAsB;IAC5D,8DAA8D;IAC9D,IAAK,UAAkB,CAAC,2BAA2B,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,iDAAiD;IACjD,IAAI,eAAe,GAAkB,UAAU,CAAC,OAAO,CAAC;IACxD,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE;QAC3C,YAAY,EAAE,IAAI;QAClB,GAAG;YACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC9C,OAAO,MAAM,IAAI,eAAe,CAAC;QACnC,CAAC;QACD,GAAG,CAAC,OAAsB;YACxB,eAAe,GAAG,OAAO,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;IAEH,iEAAiE;IACjE,+DAA+D;IAC/D,2DAA2D;IAC3D,8DAA8D;IAC9D,8DAA8D;IAC9D,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAgC,CAAC;IACvF,8DAA8D;IAC7D,UAAkB,CAAC,KAAK,GAAG,SAAS,YAAY;IAE/C,8DAA8D;IAC9D,GAAG,IAAW;QAEd,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,uDAAuD;YACvD,OAAO,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,4DAA4D;IAC5D,gCAAgC;IAChC,MAAM,0BAA0B,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CACnE,UAAU,CAEoB,CAAC;IACjC,8DAA8D;IAC7D,UAAkB,CAAC,kBAAkB,GAAG,SAAS,yBAAyB;IAEzE,8DAA8D;IAC9D,GAAG,IAAW;QAEd,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,iBAAiB,KAAK,SAAS;gBACpC,CAAC,CAAC,0BAA0B,CAAC,iBAAiB,CAAC;gBAC/C,CAAC,CAAC,0BAA0B,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,0BAA0B,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,0BAA0B,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,uCAAuC;IACvC,8DAA8D;IAC7D,UAAkB,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,EAAc;IAC3C,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC9C,OAAO,MAAM,EAAE,WAAW,CAAC;AAC7B,CAAC"}
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * This wrap matters specifically for the
10
10
  * `@InjectEntityManager() em.getRepository(Entity).save(...)` user
11
- * pattern (Phase 14.20 Q1 Option A coverage proof): the injected
11
+ * pattern (coverage proof in the integration tests): the injected
12
12
  * `EntityManager` is the DataSource's default (non-transactional)
13
13
  * manager. Calling `em.getRepository(Entity)` would, without this
14
14
  * wrap, return a Repository whose only `manager` reference is `em`
@@ -22,7 +22,7 @@
22
22
  *
23
23
  * `@InjectEntityManager` + direct method call (`em.save(Entity, ...)`)
24
24
  * is NOT covered by this patch — that is the documented limitation
25
- * (Phase 14.20 Q5). Use `getCurrentEntityManager()` as the escape
25
+ *. Use `getCurrentEntityManager()` as the escape
26
26
  * hatch.
27
27
  */
28
28
  export declare function applyEntityManagerPatches(): void;
@@ -1,5 +1,4 @@
1
- "use strict";
2
- /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/unbound-method */
1
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access, @typescript-eslint/unbound-method */
3
2
  // The patching machinery wraps `EntityManager.prototype.getRepository`
4
3
  // and stamps hidden symbol-keyed properties on returned
5
4
  // `Repository` instances. These properties live outside TypeORM's
@@ -7,11 +6,8 @@
7
6
  // lint rules fire on every access. File-level disable keeps the
8
7
  // patch code readable; the runtime contract is documented in the
9
8
  // JSDoc above each patch.
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.applyEntityManagerPatches = applyEntityManagerPatches;
12
- exports.areEntityManagerPatchesApplied = areEntityManagerPatchesApplied;
13
- const typeorm_1 = require("typeorm");
14
- const symbols_1 = require("./symbols");
9
+ import { EntityManager } from 'typeorm';
10
+ import { TYPEORM_ENTITY_MANAGER_NAME } from './symbols.js';
15
11
  /**
16
12
  * Tracks whether `EntityManager.prototype.getRepository` has been
17
13
  * wrapped. Idempotent install pattern matching
@@ -35,7 +31,7 @@ let originalGetRepository;
35
31
  *
36
32
  * This wrap matters specifically for the
37
33
  * `@InjectEntityManager() em.getRepository(Entity).save(...)` user
38
- * pattern (Phase 14.20 Q1 Option A coverage proof): the injected
34
+ * pattern (coverage proof in the integration tests): the injected
39
35
  * `EntityManager` is the DataSource's default (non-transactional)
40
36
  * manager. Calling `em.getRepository(Entity)` would, without this
41
37
  * wrap, return a Repository whose only `manager` reference is `em`
@@ -49,19 +45,19 @@ let originalGetRepository;
49
45
  *
50
46
  * `@InjectEntityManager` + direct method call (`em.save(Entity, ...)`)
51
47
  * is NOT covered by this patch — that is the documented limitation
52
- * (Phase 14.20 Q5). Use `getCurrentEntityManager()` as the escape
48
+ *. Use `getCurrentEntityManager()` as the escape
53
49
  * hatch.
54
50
  */
55
- function applyEntityManagerPatches() {
51
+ export function applyEntityManagerPatches() {
56
52
  if (installed) {
57
53
  return;
58
54
  }
59
- originalGetRepository = typeorm_1.EntityManager.prototype.getRepository;
55
+ originalGetRepository = EntityManager.prototype.getRepository;
60
56
  // The generic shape of `getRepository<Entity>` resists clean
61
57
  // typing on a wrapper; cast through `any` to keep the wrap a
62
58
  // single statement. Runtime contract is unchanged.
63
59
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
64
- typeorm_1.EntityManager.prototype.getRepository = function patchedGetRepository(
60
+ EntityManager.prototype.getRepository = function patchedGetRepository(
65
61
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
62
  target) {
67
63
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -71,16 +67,16 @@ function applyEntityManagerPatches() {
71
67
  // calls — re-stamping with the same value is a no-op, but the
72
68
  // guard makes the intent explicit.
73
69
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
- if (repo[symbols_1.TYPEORM_ENTITY_MANAGER_NAME] === undefined) {
70
+ if (repo[TYPEORM_ENTITY_MANAGER_NAME] === undefined) {
75
71
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
76
- repo[symbols_1.TYPEORM_ENTITY_MANAGER_NAME] = this;
72
+ repo[TYPEORM_ENTITY_MANAGER_NAME] = this;
77
73
  }
78
74
  return repo;
79
75
  };
80
76
  installed = true;
81
77
  }
82
78
  /** Predicate exported for unit tests. @internal */
83
- function areEntityManagerPatchesApplied() {
79
+ export function areEntityManagerPatchesApplied() {
84
80
  return installed;
85
81
  }
86
82
  //# sourceMappingURL=entity-manager-patches.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-manager-patches.js","sourceRoot":"","sources":["../../src/patching/entity-manager-patches.ts"],"names":[],"mappings":";AAAA,2IAA2I;AAC3I,uEAAuE;AACvE,wDAAwD;AACxD,kEAAkE;AAClE,8DAA8D;AAC9D,gEAAgE;AAChE,iEAAiE;AACjE,0BAA0B;;AAgD1B,8DA+BC;AAGD,wEAEC;AAlFD,qCAAwC;AAExC,uCAAwD;AAExD;;;;;;GAMG;AACH,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB;;;GAGG;AACH,IAAI,qBAA+E,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,SAAgB,yBAAyB;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,qBAAqB,GAAG,uBAAa,CAAC,SAAS,CAAC,aAAa,CAAC;IAE9D,6DAA6D;IAC7D,6DAA6D;IAC7D,mDAAmD;IACnD,8DAA8D;IAC7D,uBAAa,CAAC,SAAiB,CAAC,aAAa,GAAG,SAAS,oBAAoB;IAE5E,8DAA8D;IAC9D,MAAW;QAEX,oEAAoE;QACpE,MAAM,IAAI,GAAG,qBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,8DAA8D;QAC9D,6DAA6D;QAC7D,8DAA8D;QAC9D,mCAAmC;QACnC,8DAA8D;QAC9D,IAAK,IAAY,CAAC,qCAA2B,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7D,8DAA8D;YAC7D,IAAY,CAAC,qCAA2B,CAAC,GAAG,IAAI,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,mDAAmD;AACnD,SAAgB,8BAA8B;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"entity-manager-patches.js","sourceRoot":"","sources":["../../src/patching/entity-manager-patches.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,uEAAuE;AACvE,wDAAwD;AACxD,kEAAkE;AAClE,8DAA8D;AAC9D,gEAAgE;AAChE,iEAAiE;AACjE,0BAA0B;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAE3D;;;;;;GAMG;AACH,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB;;;GAGG;AACH,IAAI,qBAA+E,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,yBAAyB;IACvC,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,qBAAqB,GAAG,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC;IAE9D,6DAA6D;IAC7D,6DAA6D;IAC7D,mDAAmD;IACnD,8DAA8D;IAC7D,aAAa,CAAC,SAAiB,CAAC,aAAa,GAAG,SAAS,oBAAoB;IAE5E,8DAA8D;IAC9D,MAAW;QAEX,oEAAoE;QACpE,MAAM,IAAI,GAAG,qBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,8DAA8D;QAC9D,6DAA6D;QAC7D,8DAA8D;QAC9D,mCAAmC;QACnC,8DAA8D;QAC9D,IAAK,IAAY,CAAC,2BAA2B,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7D,8DAA8D;YAC7D,IAAY,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,SAAS,GAAG,IAAI,CAAC;AACnB,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,8BAA8B;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,6 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEmDataSource = getEmDataSource;
4
1
  /**
5
2
  * Read the owning {@link DataSource} from an {@link EntityManager}
6
3
  * across TypeORM versions.
@@ -12,7 +9,7 @@ exports.getEmDataSource = getEmDataSource;
12
9
  * patching layer compatible with both peer ranges without a runtime
13
10
  * version check.
14
11
  */
15
- function getEmDataSource(em) {
12
+ export function getEmDataSource(em) {
16
13
  const shape = em;
17
14
  const ds = shape.dataSource ?? shape.connection;
18
15
  if (ds === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"get-em-data-source.js","sourceRoot":"","sources":["../../src/patching/get-em-data-source.ts"],"names":[],"mappings":";;AAaA,0CAaC;AAxBD;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAAC,EAAiB;IAC/C,MAAM,KAAK,GAAG,EAGb,CAAC;IACF,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;IAChD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,+DAA+D;YAC7D,8BAA8B,CACjC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"get-em-data-source.js","sourceRoot":"","sources":["../../src/patching/get-em-data-source.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,EAAiB;IAC/C,MAAM,KAAK,GAAG,EAGb,CAAC;IACF,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC;IAChD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,+DAA+D;YAC7D,8BAA8B,CACjC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}