@decaf-ts/core 0.26.5 → 0.27.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 +87 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/persistence/Adapter.cjs +9 -1
- package/lib/cjs/persistence/Adapter.cjs.map +1 -1
- package/lib/cjs/persistence/ContextLock.cjs +110 -61
- package/lib/cjs/persistence/ContextLock.cjs.map +1 -1
- package/lib/cjs/persistence/ObserverHandler.cjs +1 -1
- package/lib/cjs/persistence/ObserverHandler.cjs.map +1 -1
- package/lib/cjs/persistence/constants.cjs +1 -0
- package/lib/cjs/persistence/constants.cjs.map +1 -1
- package/lib/cjs/persistence/transactions.cjs +57 -24
- package/lib/cjs/persistence/transactions.cjs.map +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/persistence/Adapter.js +10 -2
- package/lib/esm/persistence/Adapter.js.map +1 -1
- package/lib/esm/persistence/ContextLock.js +108 -59
- package/lib/esm/persistence/ContextLock.js.map +1 -1
- package/lib/esm/persistence/ObserverHandler.js +1 -1
- package/lib/esm/persistence/ObserverHandler.js.map +1 -1
- package/lib/esm/persistence/constants.js +1 -0
- package/lib/esm/persistence/constants.js.map +1 -1
- package/lib/esm/persistence/transactions.js +55 -22
- package/lib/esm/persistence/transactions.js.map +1 -1
- package/lib/types/index.d.cts +3 -3
- package/lib/types/index.d.mts +3 -3
- package/lib/types/persistence/Adapter.d.cts +10 -2
- package/lib/types/persistence/Adapter.d.mts +10 -2
- package/lib/types/persistence/ContextLock.d.cts +72 -14
- package/lib/types/persistence/ContextLock.d.mts +72 -14
- package/lib/types/persistence/transactions.d.cts +20 -3
- package/lib/types/persistence/transactions.d.mts +20 -3
- package/lib/types/persistence/types.d.cts +9 -0
- package/lib/types/persistence/types.d.mts +9 -0
- package/package.json +1 -1
package/lib/cjs/index.cjs
CHANGED
|
@@ -50,21 +50,21 @@ __exportStar(require("./persistence/index.cjs"), exports);
|
|
|
50
50
|
* @const VERSION
|
|
51
51
|
* @memberOf module:core
|
|
52
52
|
*/
|
|
53
|
-
exports.VERSION = "0.26.
|
|
53
|
+
exports.VERSION = "0.26.5";
|
|
54
54
|
/**
|
|
55
55
|
* @description Represents the current commit hash of the module build.
|
|
56
56
|
* @summary Stores the current git commit hash for the package. The build replaces
|
|
57
57
|
* the placeholder with the actual commit hash at publish time.
|
|
58
58
|
* @const COMMIT
|
|
59
59
|
*/
|
|
60
|
-
exports.COMMIT = "
|
|
60
|
+
exports.COMMIT = "a5030e0";
|
|
61
61
|
/**
|
|
62
62
|
* @description Represents the full version string of the module.
|
|
63
63
|
* @summary Stores the semver version and commit hash for the package.
|
|
64
64
|
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
65
65
|
* @const FULL_VERSION
|
|
66
66
|
*/
|
|
67
|
-
exports.FULL_VERSION = "0.26.
|
|
67
|
+
exports.FULL_VERSION = "0.26.5-a5030e0";
|
|
68
68
|
/**
|
|
69
69
|
* @description Stores the current package version
|
|
70
70
|
* @summary A constant representing the version of the core package
|
|
@@ -207,8 +207,16 @@ class Adapter extends ContextualLoggedClass_js_1.AbsContextual {
|
|
|
207
207
|
throw new db_decorators_1.InternalError(`This should be overridden when necessary. Otherwise it will be replaced lazily`);
|
|
208
208
|
return Adapter._baseRepository;
|
|
209
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* @description Provides this adapter's transaction-lock implementation
|
|
212
|
+
* @summary Returns a fresh `ContextLock` instance used by `@transactional` to manage transaction
|
|
213
|
+
* boundaries. The base implementation is a no-op; adapters with native transaction support (e.g. a
|
|
214
|
+
* SQL adapter) should override this to return a `ContextLock` subclass that wraps the underlying
|
|
215
|
+
* driver's BEGIN/COMMIT/ROLLBACK. Nesting is handled by the `@transactional` proxy, not by this method
|
|
216
|
+
* or the returned lock.
|
|
217
|
+
*/
|
|
210
218
|
transactionLock(...args) {
|
|
211
|
-
return new ContextLock_js_1.
|
|
219
|
+
return new ContextLock_js_1.ContextLock(this, ...args);
|
|
212
220
|
}
|
|
213
221
|
async shutdownProxies(k, ...args) {
|
|
214
222
|
if (k && typeof k !== "string") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Adapter.js","sourceRoot":"","sources":["Adapter.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Adapter.js","sourceRoot":"","sources":["Adapter.js"],"names":[],"mappings":"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"}
|
|
@@ -1,79 +1,128 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ContextLock = exports.
|
|
3
|
+
exports.ContextLock = exports.SimpleConcurrencyLock = void 0;
|
|
4
|
+
const constants_js_1 = require("./constants.cjs");
|
|
5
|
+
const errors_js_1 = require("./errors.cjs");
|
|
4
6
|
const transactional_decorators_1 = require("@decaf-ts/transactional-decorators");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
/**
|
|
8
|
+
* @description Counting semaphore used by the default `ContextLock` to gate concurrent transactions
|
|
9
|
+
* @summary Simple FIFO semaphore: `acquire()` resolves immediately while permits remain, otherwise the
|
|
10
|
+
* caller is queued and resolved (without touching the permit count) the moment `release()` hands the
|
|
11
|
+
* permit directly to the next waiter. `SimpleConcurrencyLock.for(adapter, limit)` is the single,
|
|
12
|
+
* self-contained way to get the one gate shared by every transaction on that adapter - no extra state
|
|
13
|
+
* or methods live on `Adapter` itself for this.
|
|
14
|
+
* @class SimpleConcurrencyLock
|
|
15
|
+
*/
|
|
16
|
+
class SimpleConcurrencyLock extends transactional_decorators_1.Lock {
|
|
17
|
+
static { this.registry = new WeakMap(); }
|
|
18
|
+
/**
|
|
19
|
+
* @description Returns the one `SimpleConcurrencyLock` for this adapter, creating it on first use
|
|
20
|
+
* @summary `limit` only matters the first time it's called for a given adapter - the gate's capacity
|
|
21
|
+
* is fixed for the adapter's lifetime, the same way the adapter's own client/connection is.
|
|
22
|
+
*/
|
|
23
|
+
static for(adapter, limit) {
|
|
24
|
+
let lock = SimpleConcurrencyLock.registry.get(adapter);
|
|
25
|
+
if (!lock) {
|
|
26
|
+
lock = new SimpleConcurrencyLock(limit);
|
|
27
|
+
SimpleConcurrencyLock.registry.set(adapter, lock);
|
|
28
|
+
}
|
|
29
|
+
return lock;
|
|
11
30
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
31
|
+
constructor(permits) {
|
|
32
|
+
super();
|
|
33
|
+
this.waiters = [];
|
|
34
|
+
this.permits = permits;
|
|
15
35
|
}
|
|
16
36
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
|
-
async
|
|
18
|
-
|
|
37
|
+
async acquire(ctx) {
|
|
38
|
+
if (this.permits > 0) {
|
|
39
|
+
this.permits--;
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
return new Promise((resolve) => this.waiters.push(resolve));
|
|
19
43
|
}
|
|
20
44
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
21
|
-
|
|
22
|
-
|
|
45
|
+
release(ctx) {
|
|
46
|
+
const next = this.waiters.shift();
|
|
47
|
+
if (next) {
|
|
48
|
+
next();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.permits++;
|
|
23
52
|
}
|
|
24
53
|
}
|
|
25
|
-
exports.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
54
|
+
exports.SimpleConcurrencyLock = SimpleConcurrencyLock;
|
|
55
|
+
/**
|
|
56
|
+
* @description Per-adapter transaction lock
|
|
57
|
+
* @summary Default transaction boundary implementation stored on the Context by `@transactional`.
|
|
58
|
+
* Gated by the `maxConcurrentTransactions` flag (see `AdapterFlags`): `-1` (default) means no limit and
|
|
59
|
+
* `begin`/`commit`/`rollback` behave as a no-op; `0` disables transactions outright (every call throws);
|
|
60
|
+
* any positive number gates concurrent transactions through `SimpleConcurrencyLock.for(adapter, limit)`,
|
|
61
|
+
* the one counting semaphore shared by every transaction on that adapter, queuing callers until a slot
|
|
62
|
+
* frees up.
|
|
63
|
+
* Adapters with native transaction support (e.g. a SQL adapter wrapping BEGIN/COMMIT/ROLLBACK) override
|
|
64
|
+
* `Adapter.transactionLock()` to return a subclass with real `begin`/`commit`/`rollback` behavior - if that
|
|
65
|
+
* subclass does not call `super.begin()`/`super.commit()`/`super.rollback()`, `maxConcurrentTransactions`
|
|
66
|
+
* has no effect for it, since concurrency is then governed by the underlying database instead.
|
|
67
|
+
* `transactionLock()` always returns a *fresh* `ContextLock` per top-level transaction - it's the
|
|
68
|
+
* per-transaction handle (nesting `depth`, and for native adapters the actual exclusive connection/cursor),
|
|
69
|
+
* so it cannot be a singleton itself; only the concurrency gate it delegates to is shared.
|
|
70
|
+
* Nesting (reusing the same instance across nested `@transactional` calls, and deciding when to actually
|
|
71
|
+
* call `begin`/`commit`/`rollback`) is owned by the `@transactional` proxy via `depth`, not by this class.
|
|
72
|
+
* @class ContextLock
|
|
73
|
+
*/
|
|
74
|
+
class ContextLock {
|
|
75
|
+
constructor(adapter,
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
77
|
+
...args) {
|
|
78
|
+
this.adapter = adapter;
|
|
79
|
+
/**
|
|
80
|
+
* @description Nesting depth, owned and mutated by the `@transactional` proxy
|
|
81
|
+
*/
|
|
82
|
+
this.depth = 0;
|
|
32
83
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
84
|
+
/**
|
|
85
|
+
* @description Called once, by the outermost `@transactional` call
|
|
86
|
+
* @summary `context` already exists by the time this is called (the `@transactional` proxy always
|
|
87
|
+
* builds it before calling `begin`), so this routes it through `Adapter.logCtx()` with `allowCreate`
|
|
88
|
+
* left at its default `false` - there is nothing to create here, only the existing context (and its
|
|
89
|
+
* logger) to reuse. Passing `allowCreate: true` would be wrong: it skips the "reuse the context I was
|
|
90
|
+
* given" branch entirely and tries to build a new one through `Adapter.context()`, whose third
|
|
91
|
+
* positional parameter is reserved for a model constructor - the context would be misread as "model".
|
|
92
|
+
* @param {Context<any>} context - The context the transaction is starting under
|
|
93
|
+
*/
|
|
94
|
+
async begin(context) {
|
|
95
|
+
const { log, ctx } = this.adapter["logCtx"]([context], this.begin);
|
|
96
|
+
const value = ctx.getOrUndefined("maxConcurrentTransactions");
|
|
97
|
+
const limit = typeof value === "number"
|
|
98
|
+
? value
|
|
99
|
+
: constants_js_1.DefaultAdapterFlags.maxConcurrentTransactions;
|
|
100
|
+
if (limit === 0) {
|
|
101
|
+
log.debug(`Rejecting transaction on adapter "${this.adapter.alias}": transactions are disabled (maxConcurrentTransactions=0)`);
|
|
102
|
+
throw new errors_js_1.UnsupportedError(`Transactions are disabled for adapter "${this.adapter.alias}" (maxConcurrentTransactions=0)`);
|
|
39
103
|
}
|
|
40
|
-
|
|
41
|
-
this.
|
|
104
|
+
if (limit > 0) {
|
|
105
|
+
log.silly(`Gating transaction on adapter "${this.adapter.alias}" (maxConcurrentTransactions=${limit})`);
|
|
106
|
+
this.semaphore = SimpleConcurrencyLock.for(this.adapter, limit);
|
|
107
|
+
await this.semaphore.acquire(ctx);
|
|
42
108
|
}
|
|
43
109
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
catch (e) {
|
|
52
|
-
await this.adapterTransaction.rollback(new db_decorators_1.InternalError(`Failed to submit transaction: ${e}`), ...args);
|
|
53
|
-
}
|
|
54
|
-
finally {
|
|
55
|
-
this.lock.release();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else if (this.acquireCount < 0) {
|
|
59
|
-
this.acquireCount = 0;
|
|
60
|
-
this.lock.release();
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
this.lock.release();
|
|
64
|
-
}
|
|
110
|
+
/**
|
|
111
|
+
* @description Called once, when the outermost `@transactional` call exits successfully
|
|
112
|
+
* @param {Context<any>} context - The context the transaction ran under
|
|
113
|
+
*/
|
|
114
|
+
async commit(context) {
|
|
115
|
+
const { ctx } = this.adapter["logCtx"]([context], this.commit);
|
|
116
|
+
this.semaphore?.release(ctx);
|
|
65
117
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
finally {
|
|
75
|
-
this.lock.release();
|
|
76
|
-
}
|
|
118
|
+
/**
|
|
119
|
+
* @description Called once, by whichever call hits the error first. Ends the transaction outright
|
|
120
|
+
* @param {Error} err - The error that triggered the rollback
|
|
121
|
+
* @param {Context<any>} context - The context the transaction ran under
|
|
122
|
+
*/
|
|
123
|
+
async rollback(err, context) {
|
|
124
|
+
const { ctx } = this.adapter["logCtx"]([context], this.rollback);
|
|
125
|
+
this.semaphore?.release(ctx);
|
|
77
126
|
}
|
|
78
127
|
}
|
|
79
128
|
exports.ContextLock = ContextLock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextLock.js","sourceRoot":"","sources":["ContextLock.js"],"names":[],"mappings":";;;AAAA,iFAA0D;AAC1D
|
|
1
|
+
{"version":3,"file":"ContextLock.js","sourceRoot":"","sources":["ContextLock.js"],"names":[],"mappings":"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"}
|
|
@@ -133,7 +133,7 @@ class ObserverHandler {
|
|
|
133
133
|
}
|
|
134
134
|
})
|
|
135
135
|
.map((o) => {
|
|
136
|
-
o.observer.refresh(model, event, id, ...ctxArgs);
|
|
136
|
+
return o.observer.refresh(model, event, id, ...ctxArgs);
|
|
137
137
|
}));
|
|
138
138
|
results.forEach((result, i) => {
|
|
139
139
|
if (result.status === "rejected")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObserverHandler.js","sourceRoot":"","sources":["ObserverHandler.js"],"names":[],"mappings":";;;AAAA,2DAAyD;AACzD,kFAA6E;AAC7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAa,eAAe;IACxB;QACI;;;WAGG;QACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IACD;;;;OAIG;IACH,KAAK;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IACjC,CAAC;IACD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,KAAK,KAAK,CAAC,CAAC;YACZ,MAAM,IAAI,6BAAa,CAAC,6BAA6B,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5D,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,KAAK,KAAK,CAAC,CAAC;YACZ,MAAM,IAAI,6BAAa,CAAC,yBAAyB,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI;QAC3C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,gDAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;QACvG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,MAAM;gBACP,OAAO,IAAI,CAAC;YAChB,IAAI,CAAC;gBACD,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtE,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC,CAAC;aACG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ObserverHandler.js","sourceRoot":"","sources":["ObserverHandler.js"],"names":[],"mappings":"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"}
|
|
@@ -94,6 +94,7 @@ exports.DefaultAdapterFlags = Object.assign({}, db_decorators_1.DefaultRepositor
|
|
|
94
94
|
paginateByBookmark: false,
|
|
95
95
|
dryRun: false,
|
|
96
96
|
afterQueryHandlers: false,
|
|
97
|
+
maxConcurrentTransactions: -1,
|
|
97
98
|
});
|
|
98
99
|
exports.TransactionOperationKeys = [
|
|
99
100
|
db_decorators_1.OperationKeys.CREATE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.js"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
3
|
+
exports.resolveTransactionLock = resolveTransactionLock;
|
|
4
|
+
exports.transactional = transactional;
|
|
5
5
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
6
6
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
7
7
|
const transactional_decorators_1 = require("@decaf-ts/transactional-decorators");
|
|
8
8
|
const ModelService_js_1 = require("./../services/ModelService.cjs");
|
|
9
9
|
const Repository_js_1 = require("./../repository/Repository.cjs");
|
|
10
10
|
const Adapter_js_1 = require("./Adapter.cjs");
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
/**
|
|
12
|
+
* @description Resolves the transaction lock for a `@transactional`-decorated call
|
|
13
|
+
* @summary Finds the underlying adapter for the decorated object (Adapter, Repository, or
|
|
14
|
+
* ModelService) and asks it for a fresh `ContextLock` via `Adapter.transactionLock()`
|
|
15
|
+
*/
|
|
16
|
+
function resolveTransactionLock(obj, ...args) {
|
|
13
17
|
let adapter;
|
|
14
18
|
if (obj instanceof ModelService_js_1.ModelService)
|
|
15
19
|
adapter = obj.repo.adapter;
|
|
@@ -21,9 +25,6 @@ function getAdapterTransaction(obj, ...args) {
|
|
|
21
25
|
throw new db_decorators_1.InternalError(`Could not find adapter to extract transaction`);
|
|
22
26
|
return adapter.transactionLock(...args);
|
|
23
27
|
}
|
|
24
|
-
function getContextLock(obj, ...args) {
|
|
25
|
-
return new ContextLock_js_1.ContextLock(getAdapterTransaction(obj, ...args));
|
|
26
|
-
}
|
|
27
28
|
function innerTransactional(...data) {
|
|
28
29
|
return function (target, propertyKey, descriptor) {
|
|
29
30
|
if (!descriptor)
|
|
@@ -35,27 +36,43 @@ function innerTransactional(...data) {
|
|
|
35
36
|
descriptor.value = new Proxy(descriptor.value, {
|
|
36
37
|
async apply(obj, thisArg, argArray) {
|
|
37
38
|
const { log, ctx } = (await thisArg["logCtx"](argArray, obj.name, true)).for(obj);
|
|
38
|
-
|
|
39
|
-
ctx.
|
|
40
|
-
|
|
39
|
+
// Reuse an in-flight transaction (nested @transactional call) instead of starting a new one
|
|
40
|
+
const existing = ctx.getOrUndefined("transactionLock");
|
|
41
|
+
const lock = existing || resolveTransactionLock(thisArg);
|
|
42
|
+
lock.depth++;
|
|
43
|
+
if (!existing) {
|
|
44
|
+
// only cache the lock once begin() succeeds, so a rejected begin() (e.g.
|
|
45
|
+
// maxConcurrentTransactions=0) leaves no stale lock/depth on the context
|
|
46
|
+
await lock.begin(ctx);
|
|
47
|
+
ctx.cache.put("transactionLock", lock);
|
|
48
|
+
}
|
|
41
49
|
let results;
|
|
42
50
|
try {
|
|
43
51
|
results = await obj.call(thisArg, ...argArray, ctx);
|
|
44
52
|
}
|
|
45
53
|
catch (e) {
|
|
54
|
+
// An inner @transactional frame may have already rolled back and ended
|
|
55
|
+
// the transaction (depth forced to 0); enclosing frames must not roll back again
|
|
56
|
+
const alreadyEnded = lock.depth === 0;
|
|
57
|
+
lock.depth = 0;
|
|
58
|
+
if (!alreadyEnded) {
|
|
59
|
+
try {
|
|
60
|
+
await lock.rollback(e, ctx);
|
|
61
|
+
}
|
|
62
|
+
catch (rollbackError) {
|
|
63
|
+
log.error(`Failed to rollback transaction`, rollbackError);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw e;
|
|
67
|
+
}
|
|
68
|
+
lock.depth--;
|
|
69
|
+
if (lock.depth === 0) {
|
|
46
70
|
try {
|
|
47
|
-
await lock.
|
|
71
|
+
await lock.commit(ctx);
|
|
48
72
|
}
|
|
49
73
|
catch (e) {
|
|
50
|
-
|
|
74
|
+
throw new db_decorators_1.InternalError(`Failed to commit transaction: ${e}`);
|
|
51
75
|
}
|
|
52
|
-
throw e;
|
|
53
|
-
}
|
|
54
|
-
try {
|
|
55
|
-
await lock.release();
|
|
56
|
-
}
|
|
57
|
-
catch (e) {
|
|
58
|
-
throw new db_decorators_1.InternalError(`Failed to release transaction: ${e}`);
|
|
59
76
|
}
|
|
60
77
|
return results;
|
|
61
78
|
},
|
|
@@ -63,10 +80,26 @@ function innerTransactional(...data) {
|
|
|
63
80
|
return descriptor;
|
|
64
81
|
};
|
|
65
82
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
83
|
+
/**
|
|
84
|
+
* @description Method decorator that wraps a method in core's transaction-lock mechanism
|
|
85
|
+
* @summary `@decaf-ts/transactional-decorators` exports its own `transactional()` factory, and that
|
|
86
|
+
* factory re-registers its own (base) decorator under the same Decoration key every time it is called
|
|
87
|
+
* — so importing core does not make core's implementation "stick" if anything also calls the base
|
|
88
|
+
* package's factory. Consumers that want core's `ContextLock`/per-adapter transaction-lock behavior
|
|
89
|
+
* MUST import `transactional` from `@decaf-ts/core` (this function), not from
|
|
90
|
+
* `@decaf-ts/transactional-decorators`. Whichever factory is called last determines the active
|
|
91
|
+
* implementation for the shared key/flavour going forward.
|
|
92
|
+
* @param {...any[]} data - Optional metadata available to the transaction-lock implementation
|
|
93
|
+
* @function transactional
|
|
94
|
+
* @category Decorators
|
|
95
|
+
*/
|
|
96
|
+
function transactional(...data) {
|
|
97
|
+
return decoration_1.Decoration.for(transactional_decorators_1.TransactionalKeys.TRANSACTIONAL)
|
|
98
|
+
.define({
|
|
99
|
+
decorator: innerTransactional,
|
|
100
|
+
args: data,
|
|
101
|
+
})
|
|
102
|
+
.apply();
|
|
103
|
+
}
|
|
71
104
|
//# sourceMappingURL=transactions.js.map
|
|
72
105
|
//# sourceMappingURL=transactions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["transactions.js"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"transactions.js","sourceRoot":"","sources":["transactions.js"],"names":[],"mappings":"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"}
|
package/lib/esm/index.js
CHANGED
|
@@ -33,21 +33,21 @@ export * from "./persistence/index.js";
|
|
|
33
33
|
* @const VERSION
|
|
34
34
|
* @memberOf module:core
|
|
35
35
|
*/
|
|
36
|
-
export const VERSION = "0.26.
|
|
36
|
+
export const VERSION = "0.26.5";
|
|
37
37
|
/**
|
|
38
38
|
* @description Represents the current commit hash of the module build.
|
|
39
39
|
* @summary Stores the current git commit hash for the package. The build replaces
|
|
40
40
|
* the placeholder with the actual commit hash at publish time.
|
|
41
41
|
* @const COMMIT
|
|
42
42
|
*/
|
|
43
|
-
export const COMMIT = "
|
|
43
|
+
export const COMMIT = "a5030e0";
|
|
44
44
|
/**
|
|
45
45
|
* @description Represents the full version string of the module.
|
|
46
46
|
* @summary Stores the semver version and commit hash for the package.
|
|
47
47
|
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
48
48
|
* @const FULL_VERSION
|
|
49
49
|
*/
|
|
50
|
-
export const FULL_VERSION = "0.26.
|
|
50
|
+
export const FULL_VERSION = "0.26.5-a5030e0";
|
|
51
51
|
/**
|
|
52
52
|
* @description Stores the current package version
|
|
53
53
|
* @summary A constant representing the version of the core package
|
|
@@ -18,7 +18,7 @@ import { Decoration, DefaultFlavour, Metadata, } from "@decaf-ts/decoration";
|
|
|
18
18
|
import { AbsContextual, } from "./../utils/ContextualLoggedClass.js";
|
|
19
19
|
import { promiseSequence } from "./../utils/utils.js";
|
|
20
20
|
import { UUID } from "./generators.js";
|
|
21
|
-
import {
|
|
21
|
+
import { ContextLock } from "./ContextLock.js";
|
|
22
22
|
const flavourResolver = Decoration["flavourResolver"].bind(Decoration);
|
|
23
23
|
Decoration["flavourResolver"] = (obj) => {
|
|
24
24
|
const resolveAdapterFlavour = (value) => {
|
|
@@ -198,8 +198,16 @@ export class Adapter extends AbsContextual {
|
|
|
198
198
|
throw new InternalError(`This should be overridden when necessary. Otherwise it will be replaced lazily`);
|
|
199
199
|
return Adapter._baseRepository;
|
|
200
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* @description Provides this adapter's transaction-lock implementation
|
|
203
|
+
* @summary Returns a fresh `ContextLock` instance used by `@transactional` to manage transaction
|
|
204
|
+
* boundaries. The base implementation is a no-op; adapters with native transaction support (e.g. a
|
|
205
|
+
* SQL adapter) should override this to return a `ContextLock` subclass that wraps the underlying
|
|
206
|
+
* driver's BEGIN/COMMIT/ROLLBACK. Nesting is handled by the `@transactional` proxy, not by this method
|
|
207
|
+
* or the returned lock.
|
|
208
|
+
*/
|
|
201
209
|
transactionLock(...args) {
|
|
202
|
-
return new
|
|
210
|
+
return new ContextLock(this, ...args);
|
|
203
211
|
}
|
|
204
212
|
async shutdownProxies(k, ...args) {
|
|
205
213
|
if (k && typeof k !== "string") {
|