@decaf-ts/core 0.26.4 → 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.
Files changed (42) hide show
  1. package/README.md +87 -1
  2. package/dist/core.cjs +1 -1
  3. package/dist/core.cjs.map +1 -1
  4. package/dist/core.js +1 -1
  5. package/dist/core.js.map +1 -1
  6. package/lib/cjs/index.cjs +3 -3
  7. package/lib/cjs/persistence/Adapter.cjs +9 -1
  8. package/lib/cjs/persistence/Adapter.cjs.map +1 -1
  9. package/lib/cjs/persistence/ContextLock.cjs +110 -61
  10. package/lib/cjs/persistence/ContextLock.cjs.map +1 -1
  11. package/lib/cjs/persistence/ObserverHandler.cjs +1 -1
  12. package/lib/cjs/persistence/ObserverHandler.cjs.map +1 -1
  13. package/lib/cjs/persistence/constants.cjs +1 -0
  14. package/lib/cjs/persistence/constants.cjs.map +1 -1
  15. package/lib/cjs/persistence/transactions.cjs +57 -24
  16. package/lib/cjs/persistence/transactions.cjs.map +1 -1
  17. package/lib/cjs/ram/RamAdapter.cjs +2 -2
  18. package/lib/cjs/ram/RamAdapter.cjs.map +1 -1
  19. package/lib/esm/index.js +3 -3
  20. package/lib/esm/persistence/Adapter.js +10 -2
  21. package/lib/esm/persistence/Adapter.js.map +1 -1
  22. package/lib/esm/persistence/ContextLock.js +108 -59
  23. package/lib/esm/persistence/ContextLock.js.map +1 -1
  24. package/lib/esm/persistence/ObserverHandler.js +1 -1
  25. package/lib/esm/persistence/ObserverHandler.js.map +1 -1
  26. package/lib/esm/persistence/constants.js +1 -0
  27. package/lib/esm/persistence/constants.js.map +1 -1
  28. package/lib/esm/persistence/transactions.js +55 -22
  29. package/lib/esm/persistence/transactions.js.map +1 -1
  30. package/lib/esm/ram/RamAdapter.js +3 -3
  31. package/lib/esm/ram/RamAdapter.js.map +1 -1
  32. package/lib/types/index.d.cts +3 -3
  33. package/lib/types/index.d.mts +3 -3
  34. package/lib/types/persistence/Adapter.d.cts +10 -2
  35. package/lib/types/persistence/Adapter.d.mts +10 -2
  36. package/lib/types/persistence/ContextLock.d.cts +72 -14
  37. package/lib/types/persistence/ContextLock.d.mts +72 -14
  38. package/lib/types/persistence/transactions.d.cts +20 -3
  39. package/lib/types/persistence/transactions.d.mts +20 -3
  40. package/lib/types/persistence/types.d.cts +9 -0
  41. package/lib/types/persistence/types.d.mts +9 -0
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RamAdapter.js","sourceRoot":"","sources":["RamAdapter.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RamAdapter.js","sourceRoot":"","sources":["RamAdapter.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.3";
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 = "14c152c";
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.3-14c152c";
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 { AdapterTransaction } from "./ContextLock.js";
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 AdapterTransaction(this, ...args);
210
+ return new ContextLock(this, ...args);
203
211
  }
204
212
  async shutdownProxies(k, ...args) {
205
213
  if (k && typeof k !== "string") {
@@ -1 +1 @@
1
- {"version":3,"file":"Adapter.js","sourceRoot":"","sources":["../../../src/persistence/Adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Adapter.js","sourceRoot":"","sources":["../../../src/persistence/Adapter.ts"],"names":[],"mappings":"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"}
@@ -1,75 +1,124 @@
1
+ import { DefaultAdapterFlags } from "./constants.js";
2
+ import { UnsupportedError } from "./errors.js";
1
3
  import { Lock } from "@decaf-ts/transactional-decorators";
2
- import { InternalError } from "@decaf-ts/db-decorators";
3
- export class AdapterTransaction {
4
- constructor(adapter,
5
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
- ...args) {
7
- this.adapter = adapter;
4
+ /**
5
+ * @description Counting semaphore used by the default `ContextLock` to gate concurrent transactions
6
+ * @summary Simple FIFO semaphore: `acquire()` resolves immediately while permits remain, otherwise the
7
+ * caller is queued and resolved (without touching the permit count) the moment `release()` hands the
8
+ * permit directly to the next waiter. `SimpleConcurrencyLock.for(adapter, limit)` is the single,
9
+ * self-contained way to get the one gate shared by every transaction on that adapter - no extra state
10
+ * or methods live on `Adapter` itself for this.
11
+ * @class SimpleConcurrencyLock
12
+ */
13
+ export class SimpleConcurrencyLock extends Lock {
14
+ static { this.registry = new WeakMap(); }
15
+ /**
16
+ * @description Returns the one `SimpleConcurrencyLock` for this adapter, creating it on first use
17
+ * @summary `limit` only matters the first time it's called for a given adapter - the gate's capacity
18
+ * is fixed for the adapter's lifetime, the same way the adapter's own client/connection is.
19
+ */
20
+ static for(adapter, limit) {
21
+ let lock = SimpleConcurrencyLock.registry.get(adapter);
22
+ if (!lock) {
23
+ lock = new SimpleConcurrencyLock(limit);
24
+ SimpleConcurrencyLock.registry.set(adapter, lock);
25
+ }
26
+ return lock;
8
27
  }
9
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
- async begin(...args) {
11
- // do nothing
28
+ constructor(permits) {
29
+ super();
30
+ this.waiters = [];
31
+ this.permits = permits;
12
32
  }
13
33
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
- async commit(...args) {
15
- //do nothing
34
+ async acquire(ctx) {
35
+ if (this.permits > 0) {
36
+ this.permits--;
37
+ return;
38
+ }
39
+ return new Promise((resolve) => this.waiters.push(resolve));
16
40
  }
17
41
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
- async rollback(...args) {
19
- // do nothing
42
+ release(ctx) {
43
+ const next = this.waiters.shift();
44
+ if (next) {
45
+ next();
46
+ return;
47
+ }
48
+ this.permits++;
20
49
  }
21
50
  }
22
- export class ContextLock extends Lock {
23
- constructor(adapterTransaction) {
24
- super();
25
- this.adapterTransaction = adapterTransaction;
26
- this.acquireCount = 0;
27
- this.lock = new Lock();
51
+ /**
52
+ * @description Per-adapter transaction lock
53
+ * @summary Default transaction boundary implementation stored on the Context by `@transactional`.
54
+ * Gated by the `maxConcurrentTransactions` flag (see `AdapterFlags`): `-1` (default) means no limit and
55
+ * `begin`/`commit`/`rollback` behave as a no-op; `0` disables transactions outright (every call throws);
56
+ * any positive number gates concurrent transactions through `SimpleConcurrencyLock.for(adapter, limit)`,
57
+ * the one counting semaphore shared by every transaction on that adapter, queuing callers until a slot
58
+ * frees up.
59
+ * Adapters with native transaction support (e.g. a SQL adapter wrapping BEGIN/COMMIT/ROLLBACK) override
60
+ * `Adapter.transactionLock()` to return a subclass with real `begin`/`commit`/`rollback` behavior - if that
61
+ * subclass does not call `super.begin()`/`super.commit()`/`super.rollback()`, `maxConcurrentTransactions`
62
+ * has no effect for it, since concurrency is then governed by the underlying database instead.
63
+ * `transactionLock()` always returns a *fresh* `ContextLock` per top-level transaction - it's the
64
+ * per-transaction handle (nesting `depth`, and for native adapters the actual exclusive connection/cursor),
65
+ * so it cannot be a singleton itself; only the concurrency gate it delegates to is shared.
66
+ * Nesting (reusing the same instance across nested `@transactional` calls, and deciding when to actually
67
+ * call `begin`/`commit`/`rollback`) is owned by the `@transactional` proxy via `depth`, not by this class.
68
+ * @class ContextLock
69
+ */
70
+ export class ContextLock {
71
+ constructor(adapter,
72
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
73
+ ...args) {
74
+ this.adapter = adapter;
75
+ /**
76
+ * @description Nesting depth, owned and mutated by the `@transactional` proxy
77
+ */
78
+ this.depth = 0;
28
79
  }
29
- async acquire(...args) {
30
- await this.lock.acquire();
31
- this.acquireCount++;
32
- if (this.acquireCount === 1) {
33
- this.lock.release();
34
- await this.adapterTransaction.begin(...args);
80
+ /**
81
+ * @description Called once, by the outermost `@transactional` call
82
+ * @summary `context` already exists by the time this is called (the `@transactional` proxy always
83
+ * builds it before calling `begin`), so this routes it through `Adapter.logCtx()` with `allowCreate`
84
+ * left at its default `false` - there is nothing to create here, only the existing context (and its
85
+ * logger) to reuse. Passing `allowCreate: true` would be wrong: it skips the "reuse the context I was
86
+ * given" branch entirely and tries to build a new one through `Adapter.context()`, whose third
87
+ * positional parameter is reserved for a model constructor - the context would be misread as "model".
88
+ * @param {Context<any>} context - The context the transaction is starting under
89
+ */
90
+ async begin(context) {
91
+ const { log, ctx } = this.adapter["logCtx"]([context], this.begin);
92
+ const value = ctx.getOrUndefined("maxConcurrentTransactions");
93
+ const limit = typeof value === "number"
94
+ ? value
95
+ : DefaultAdapterFlags.maxConcurrentTransactions;
96
+ if (limit === 0) {
97
+ log.debug(`Rejecting transaction on adapter "${this.adapter.alias}": transactions are disabled (maxConcurrentTransactions=0)`);
98
+ throw new UnsupportedError(`Transactions are disabled for adapter "${this.adapter.alias}" (maxConcurrentTransactions=0)`);
35
99
  }
36
- else {
37
- this.lock.release();
100
+ if (limit > 0) {
101
+ log.silly(`Gating transaction on adapter "${this.adapter.alias}" (maxConcurrentTransactions=${limit})`);
102
+ this.semaphore = SimpleConcurrencyLock.for(this.adapter, limit);
103
+ await this.semaphore.acquire(ctx);
38
104
  }
39
105
  }
40
- async release(...args) {
41
- await this.lock.acquire();
42
- this.acquireCount--;
43
- if (this.acquireCount === 0) {
44
- try {
45
- await this.adapterTransaction.commit(...args);
46
- }
47
- catch (e) {
48
- await this.adapterTransaction.rollback(new InternalError(`Failed to submit transaction: ${e}`), ...args);
49
- }
50
- finally {
51
- this.lock.release();
52
- }
53
- }
54
- else if (this.acquireCount < 0) {
55
- this.acquireCount = 0;
56
- this.lock.release();
57
- }
58
- else {
59
- this.lock.release();
60
- }
106
+ /**
107
+ * @description Called once, when the outermost `@transactional` call exits successfully
108
+ * @param {Context<any>} context - The context the transaction ran under
109
+ */
110
+ async commit(context) {
111
+ const { ctx } = this.adapter["logCtx"]([context], this.commit);
112
+ this.semaphore?.release(ctx);
61
113
  }
62
- async rollback(e, ...args) {
63
- await this.lock.acquire();
64
- try {
65
- await this.adapterTransaction.rollback(new InternalError(`Failed to submit transaction: ${e}`), ...args);
66
- }
67
- catch (e) {
68
- throw new InternalError(`Failed to rollback transaction: ${e}`);
69
- }
70
- finally {
71
- this.lock.release();
72
- }
114
+ /**
115
+ * @description Called once, by whichever call hits the error first. Ends the transaction outright
116
+ * @param {Error} err - The error that triggered the rollback
117
+ * @param {Context<any>} context - The context the transaction ran under
118
+ */
119
+ async rollback(err, context) {
120
+ const { ctx } = this.adapter["logCtx"]([context], this.rollback);
121
+ this.semaphore?.release(ctx);
73
122
  }
74
123
  }
75
124
  //# sourceMappingURL=ContextLock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextLock.js","sourceRoot":"","sources":["../../../src/persistence/ContextLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,OAAO,kBAAkB;IAC7B,YACY,OAAU;IACpB,6DAA6D;IAC7D,GAAG,IAAW;QAFJ,YAAO,GAAP,OAAO,CAAG;IAGnB,CAAC;IAEJ,6DAA6D;IAC7D,KAAK,CAAC,KAAK,CAAC,GAAG,IAAW;QACxB,aAAa;IACf,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,MAAM,CAAC,GAAG,IAAW;QACzB,YAAY;IACd,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAW;QAC3B,aAAa;IACf,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,IAAI;IAInC,YAAsB,kBAA2C;QAC/D,KAAK,EAAE,CAAC;QADY,uBAAkB,GAAlB,kBAAkB,CAAyB;QAHzD,iBAAY,GAAW,CAAC,CAAC;QACd,SAAI,GAAS,IAAI,IAAI,EAAE,CAAC;IAI3C,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,GAAG,IAAW;QACnC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,GAAG,IAAW;QACnC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CACpC,IAAI,aAAa,CAAC,iCAAiC,CAAC,EAAE,CAAC,EACvD,GAAG,IAAI,CACR,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,CAAQ,EAAE,GAAG,IAAW;QACrC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CACpC,IAAI,aAAa,CAAC,iCAAiC,CAAC,EAAE,CAAC,EACvD,GAAG,IAAI,CACR,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,aAAa,CAAC,mCAAmC,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"ContextLock.js","sourceRoot":"","sources":["../../../src/persistence/ContextLock.ts"],"names":[],"mappings":"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"}
@@ -130,7 +130,7 @@ export class ObserverHandler {
130
130
  }
131
131
  })
132
132
  .map((o) => {
133
- o.observer.refresh(model, event, id, ...ctxArgs);
133
+ return o.observer.refresh(model, event, id, ...ctxArgs);
134
134
  }));
135
135
  results.forEach((result, i) => {
136
136
  if (result.status === "rejected")
@@ -1 +1 @@
1
- {"version":3,"file":"ObserverHandler.js","sourceRoot":"","sources":["../../../src/persistence/ObserverHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObserverHandler.js","sourceRoot":"","sources":["../../../src/persistence/ObserverHandler.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,7 @@ export const DefaultAdapterFlags = Object.assign({}, DefaultRepositoryFlags, {
92
92
  paginateByBookmark: false,
93
93
  dryRun: false,
94
94
  afterQueryHandlers: false,
95
+ maxConcurrentTransactions: -1,
95
96
  });
96
97
  export const TransactionOperationKeys = [
97
98
  OperationKeys.CREATE,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/persistence/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/persistence/constants.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,12 @@ import { TransactionalKeys } from "@decaf-ts/transactional-decorators";
4
4
  import { ModelService } from "./../services/ModelService.js";
5
5
  import { Repository } from "./../repository/Repository.js";
6
6
  import { Adapter } from "./Adapter.js";
7
- import { ContextLock } from "./ContextLock.js";
8
- export function getAdapterTransaction(obj, ...args) {
7
+ /**
8
+ * @description Resolves the transaction lock for a `@transactional`-decorated call
9
+ * @summary Finds the underlying adapter for the decorated object (Adapter, Repository, or
10
+ * ModelService) and asks it for a fresh `ContextLock` via `Adapter.transactionLock()`
11
+ */
12
+ export function resolveTransactionLock(obj, ...args) {
9
13
  let adapter;
10
14
  if (obj instanceof ModelService)
11
15
  adapter = obj.repo.adapter;
@@ -17,9 +21,6 @@ export function getAdapterTransaction(obj, ...args) {
17
21
  throw new InternalError(`Could not find adapter to extract transaction`);
18
22
  return adapter.transactionLock(...args);
19
23
  }
20
- export function getContextLock(obj, ...args) {
21
- return new ContextLock(getAdapterTransaction(obj, ...args));
22
- }
23
24
  function innerTransactional(...data) {
24
25
  return function (target, propertyKey, descriptor) {
25
26
  if (!descriptor)
@@ -31,27 +32,43 @@ function innerTransactional(...data) {
31
32
  descriptor.value = new Proxy(descriptor.value, {
32
33
  async apply(obj, thisArg, argArray) {
33
34
  const { log, ctx } = (await thisArg["logCtx"](argArray, obj.name, true)).for(obj);
34
- const lock = ctx.getOrUndefined("transactionLock") || getContextLock(thisArg);
35
- ctx.put("transactionLock", lock);
36
- await lock.acquire();
35
+ // Reuse an in-flight transaction (nested @transactional call) instead of starting a new one
36
+ const existing = ctx.getOrUndefined("transactionLock");
37
+ const lock = existing || resolveTransactionLock(thisArg);
38
+ lock.depth++;
39
+ if (!existing) {
40
+ // only cache the lock once begin() succeeds, so a rejected begin() (e.g.
41
+ // maxConcurrentTransactions=0) leaves no stale lock/depth on the context
42
+ await lock.begin(ctx);
43
+ ctx.cache.put("transactionLock", lock);
44
+ }
37
45
  let results;
38
46
  try {
39
47
  results = await obj.call(thisArg, ...argArray, ctx);
40
48
  }
41
49
  catch (e) {
50
+ // An inner @transactional frame may have already rolled back and ended
51
+ // the transaction (depth forced to 0); enclosing frames must not roll back again
52
+ const alreadyEnded = lock.depth === 0;
53
+ lock.depth = 0;
54
+ if (!alreadyEnded) {
55
+ try {
56
+ await lock.rollback(e, ctx);
57
+ }
58
+ catch (rollbackError) {
59
+ log.error(`Failed to rollback transaction`, rollbackError);
60
+ }
61
+ }
62
+ throw e;
63
+ }
64
+ lock.depth--;
65
+ if (lock.depth === 0) {
42
66
  try {
43
- await lock.rollback(e);
67
+ await lock.commit(ctx);
44
68
  }
45
69
  catch (e) {
46
- log.error(`Failed to rollback transaction`, e);
70
+ throw new InternalError(`Failed to commit transaction: ${e}`);
47
71
  }
48
- throw e;
49
- }
50
- try {
51
- await lock.release();
52
- }
53
- catch (e) {
54
- throw new InternalError(`Failed to release transaction: ${e}`);
55
72
  }
56
73
  return results;
57
74
  },
@@ -59,9 +76,25 @@ function innerTransactional(...data) {
59
76
  return descriptor;
60
77
  };
61
78
  }
62
- Decoration.for(TransactionalKeys.TRANSACTIONAL)
63
- .define({
64
- decorator: innerTransactional,
65
- })
66
- .apply();
79
+ /**
80
+ * @description Method decorator that wraps a method in core's transaction-lock mechanism
81
+ * @summary `@decaf-ts/transactional-decorators` exports its own `transactional()` factory, and that
82
+ * factory re-registers its own (base) decorator under the same Decoration key every time it is called
83
+ * — so importing core does not make core's implementation "stick" if anything also calls the base
84
+ * package's factory. Consumers that want core's `ContextLock`/per-adapter transaction-lock behavior
85
+ * MUST import `transactional` from `@decaf-ts/core` (this function), not from
86
+ * `@decaf-ts/transactional-decorators`. Whichever factory is called last determines the active
87
+ * implementation for the shared key/flavour going forward.
88
+ * @param {...any[]} data - Optional metadata available to the transaction-lock implementation
89
+ * @function transactional
90
+ * @category Decorators
91
+ */
92
+ export function transactional(...data) {
93
+ return Decoration.for(TransactionalKeys.TRANSACTIONAL)
94
+ .define({
95
+ decorator: innerTransactional,
96
+ args: data,
97
+ })
98
+ .apply();
99
+ }
67
100
  //# sourceMappingURL=transactions.js.map