@decaf-ts/transactional-decorators 0.6.0 → 0.7.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 (78) hide show
  1. package/lib/cjs/Transaction.cjs +17 -14
  2. package/lib/cjs/Transaction.cjs.map +1 -0
  3. package/lib/cjs/constants.cjs +3 -2
  4. package/lib/cjs/constants.cjs.map +1 -0
  5. package/lib/cjs/decorators.cjs +11 -10
  6. package/lib/cjs/decorators.cjs.map +1 -0
  7. package/lib/cjs/errors.cjs +1 -0
  8. package/lib/cjs/errors.cjs.map +1 -0
  9. package/lib/cjs/index.cjs +2 -1
  10. package/lib/cjs/index.cjs.map +1 -0
  11. package/lib/cjs/interfaces/TransactionLock.cjs +1 -0
  12. package/lib/cjs/interfaces/TransactionLock.cjs.map +1 -0
  13. package/lib/cjs/interfaces/index.cjs +6 -5
  14. package/lib/cjs/interfaces/index.cjs.map +1 -0
  15. package/lib/cjs/locks/Lock.cjs +1 -0
  16. package/lib/cjs/locks/Lock.cjs.map +1 -0
  17. package/lib/cjs/locks/MultiLock.cjs +5 -4
  18. package/lib/cjs/locks/MultiLock.cjs.map +1 -0
  19. package/lib/cjs/locks/SynchronousLock.cjs +5 -4
  20. package/lib/cjs/locks/SynchronousLock.cjs.map +1 -0
  21. package/lib/cjs/locks/index.cjs +6 -5
  22. package/lib/cjs/locks/index.cjs.map +1 -0
  23. package/lib/cjs/overrides/Metadata.cjs +1 -0
  24. package/lib/cjs/overrides/Metadata.cjs.map +1 -0
  25. package/lib/cjs/overrides/index.cjs +1 -0
  26. package/lib/cjs/overrides/index.cjs.map +1 -0
  27. package/lib/cjs/overrides/overrides.cjs +4 -3
  28. package/lib/cjs/overrides/overrides.cjs.map +1 -0
  29. package/lib/cjs/types.cjs +1 -0
  30. package/lib/cjs/types.cjs.map +1 -0
  31. package/lib/esm/index.js +1 -1
  32. package/lib/types/Transaction.d.cts +160 -0
  33. package/lib/types/Transaction.d.mts +160 -0
  34. package/lib/types/constants.d.cts +14 -0
  35. package/lib/types/constants.d.mts +14 -0
  36. package/lib/types/decorators.d.cts +33 -0
  37. package/lib/types/decorators.d.mts +33 -0
  38. package/lib/types/errors.d.cts +4 -0
  39. package/lib/types/errors.d.mts +4 -0
  40. package/lib/types/index.d.cts +21 -0
  41. package/lib/types/index.d.mts +21 -0
  42. package/lib/types/index.d.ts +1 -1
  43. package/lib/types/interfaces/TransactionLock.d.cts +28 -0
  44. package/lib/types/interfaces/TransactionLock.d.mts +28 -0
  45. package/lib/types/interfaces/index.d.cts +6 -0
  46. package/lib/types/interfaces/index.d.mts +6 -0
  47. package/lib/types/locks/Lock.d.cts +33 -0
  48. package/lib/types/locks/Lock.d.mts +33 -0
  49. package/lib/types/locks/MultiLock.d.cts +10 -0
  50. package/lib/types/locks/MultiLock.d.mts +10 -0
  51. package/lib/types/locks/SynchronousLock.d.cts +43 -0
  52. package/lib/types/locks/SynchronousLock.d.mts +43 -0
  53. package/lib/types/locks/index.d.cts +8 -0
  54. package/lib/types/locks/index.d.mts +8 -0
  55. package/lib/types/overrides/Metadata.d.cts +8 -0
  56. package/lib/types/overrides/Metadata.d.mts +8 -0
  57. package/lib/types/overrides/index.d.cts +2 -0
  58. package/lib/types/overrides/index.d.mts +2 -0
  59. package/lib/types/overrides/overrides.d.cts +1 -0
  60. package/lib/types/overrides/overrides.d.mts +1 -0
  61. package/lib/types/types.d.cts +7 -0
  62. package/lib/types/types.d.mts +7 -0
  63. package/package.json +4 -4
  64. package/lib/cjs/Transaction.js.map +0 -1
  65. package/lib/cjs/constants.js.map +0 -1
  66. package/lib/cjs/decorators.js.map +0 -1
  67. package/lib/cjs/errors.js.map +0 -1
  68. package/lib/cjs/index.js.map +0 -1
  69. package/lib/cjs/interfaces/TransactionLock.js.map +0 -1
  70. package/lib/cjs/interfaces/index.js.map +0 -1
  71. package/lib/cjs/locks/Lock.js.map +0 -1
  72. package/lib/cjs/locks/MultiLock.js.map +0 -1
  73. package/lib/cjs/locks/SynchronousLock.js.map +0 -1
  74. package/lib/cjs/locks/index.js.map +0 -1
  75. package/lib/cjs/overrides/Metadata.js.map +0 -1
  76. package/lib/cjs/overrides/index.js.map +0 -1
  77. package/lib/cjs/overrides/overrides.js.map +0 -1
  78. package/lib/cjs/types.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Transaction = void 0;
4
- const SynchronousLock_1 = require("./locks/SynchronousLock.cjs");
4
+ const SynchronousLock_js_1 = require("./locks/SynchronousLock.cjs");
5
5
  const db_decorators_1 = require("@decaf-ts/db-decorators");
6
6
  require("./overrides/index.cjs");
7
7
  const decoration_1 = require("@decaf-ts/decoration");
8
8
  const logging_1 = require("@decaf-ts/logging");
9
- const errors_1 = require("./errors.cjs");
9
+ const errors_js_1 = require("./errors.cjs");
10
10
  const objectNameCache = new WeakMap();
11
11
  /**
12
12
  * @description Core transaction management class
@@ -56,16 +56,18 @@ class Transaction extends logging_1.LoggedClass {
56
56
  static { this.debug = false; }
57
57
  static { this.globalTimeout = -1; }
58
58
  static { this.metadataCache = new WeakMap(); }
59
- static { this.log = new Proxy(logging_1.Logging.for(Transaction), {
60
- get(target, prop, receiver) {
61
- if (prop !== "log" || Transaction.debug)
62
- return Reflect.get(target, prop, receiver);
63
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
64
- return (...args) => {
65
- // do nothing. ignore the log message the Transaction is not in debug mode
66
- };
67
- },
68
- }); }
59
+ static {
60
+ this.log = new Proxy(logging_1.Logging.for(Transaction), {
61
+ get(target, prop, receiver) {
62
+ if (prop !== "log" || Transaction.debug)
63
+ return Reflect.get(target, prop, receiver);
64
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
65
+ return (...args) => {
66
+ // do nothing. ignore the log message the Transaction is not in debug mode
67
+ };
68
+ },
69
+ });
70
+ }
69
71
  get log() {
70
72
  if (!this["_log"]) {
71
73
  this["_log"] = Transaction.log;
@@ -172,7 +174,7 @@ class Transaction extends logging_1.LoggedClass {
172
174
  */
173
175
  static getLock() {
174
176
  if (!this.lock)
175
- this.lock = new SynchronousLock_1.SynchronousLock();
177
+ this.lock = new SynchronousLock_js_1.SynchronousLock();
176
178
  return this.lock;
177
179
  }
178
180
  /**
@@ -325,7 +327,7 @@ class Transaction extends logging_1.LoggedClass {
325
327
  const timer = setTimeout(() => {
326
328
  if (settled)
327
329
  return;
328
- const error = new errors_1.TimeoutError(`Transaction ${this.toString()} exceeded timeout of ${timeoutMs}ms`);
330
+ const error = new errors_js_1.TimeoutError(`Transaction ${this.toString()} exceeded timeout of ${timeoutMs}ms`);
329
331
  log.warn(error.message);
330
332
  this.release(error).catch((releaseErr) => log.error(releaseErr));
331
333
  reject(error);
@@ -406,4 +408,5 @@ class Transaction extends logging_1.LoggedClass {
406
408
  }
407
409
  }
408
410
  exports.Transaction = Transaction;
411
+ //# sourceMappingURL=Transaction.js.map
409
412
  //# sourceMappingURL=Transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["Transaction.js"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransactionalKeys = void 0;
2
4
  /**
3
5
  * @typedef {Object} TransactionalKeysType
4
6
  * @property {string} REFLECT - Key used for reflection metadata related to transactional models
5
7
  * @property {string} TRANSACTIONAL - Key used to identify transactional properties
6
8
  * @memberOf module:transactions
7
9
  */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.TransactionalKeys = void 0;
10
10
  /**
11
11
  * @description Keys used for transactional operations
12
12
  * @summary Constant object containing string keys used throughout the transactional system for reflection and identification
@@ -17,4 +17,5 @@ exports.TransactionalKeys = void 0;
17
17
  exports.TransactionalKeys = {
18
18
  TRANSACTIONAL: "transactional",
19
19
  };
20
+ //# sourceMappingURL=constants.js.map
20
21
  //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.js"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH;;;;;;GAMG;AACU,QAAA,iBAAiB,GAAG;IAC7B,aAAa,EAAE,eAAe;CACjC,CAAC;AACF,qCAAqC"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.transactional = transactional;
4
- const constants_1 = require("./constants.cjs");
4
+ const constants_js_1 = require("./constants.cjs");
5
5
  const decoration_1 = require("@decaf-ts/decoration");
6
- const Transaction_1 = require("./Transaction.cjs");
6
+ const Transaction_js_1 = require("./Transaction.cjs");
7
7
  const db_decorators_1 = require("@decaf-ts/db-decorators");
8
8
  /**
9
9
  * @description Method decorator that enables transactional behavior
@@ -43,7 +43,7 @@ function transactional(...data) {
43
43
  if (!descriptor)
44
44
  throw new db_decorators_1.InternalError("This decorator only applies to methods");
45
45
  (0, decoration_1.method)()(target, propertyKey, descriptor);
46
- decoration_1.Metadata.set(target.constructor, decoration_1.Metadata.key(constants_1.TransactionalKeys.TRANSACTIONAL, propertyKey), {
46
+ decoration_1.Metadata.set(target.constructor, decoration_1.Metadata.key(constants_js_1.TransactionalKeys.TRANSACTIONAL, propertyKey), {
47
47
  data: data,
48
48
  });
49
49
  descriptor.value = new Proxy(descriptor.value, {
@@ -63,7 +63,7 @@ function transactional(...data) {
63
63
  const transactionPrefixLength = (() => {
64
64
  let count = 0;
65
65
  while (count < argArray.length &&
66
- argArray[count] instanceof Transaction_1.Transaction) {
66
+ argArray[count] instanceof Transaction_js_1.Transaction) {
67
67
  count++;
68
68
  }
69
69
  return count;
@@ -71,11 +71,11 @@ function transactional(...data) {
71
71
  const invocationArgs = transactionPrefixLength > 0
72
72
  ? argArray.slice(transactionPrefixLength)
73
73
  : argArray;
74
- const activeTransaction = candidate instanceof Transaction_1.Transaction
74
+ const activeTransaction = candidate instanceof Transaction_js_1.Transaction
75
75
  ? candidate
76
- : Transaction_1.Transaction.contextTransaction(thisArg);
76
+ : Transaction_js_1.Transaction.contextTransaction(thisArg);
77
77
  if (activeTransaction) {
78
- const updatedTransaction = new Transaction_1.Transaction(target.name, propertyKey, async () => {
78
+ const updatedTransaction = new Transaction_js_1.Transaction(target.name, propertyKey, async () => {
79
79
  try {
80
80
  return resolve(await Reflect.apply(obj, updatedTransaction.bindToTransaction(thisArg), invocationArgs));
81
81
  }
@@ -87,7 +87,7 @@ function transactional(...data) {
87
87
  activeTransaction.fire();
88
88
  }
89
89
  else {
90
- const newTransaction = new Transaction_1.Transaction(target.name, propertyKey, async () => {
90
+ const newTransaction = new Transaction_js_1.Transaction(target.name, propertyKey, async () => {
91
91
  try {
92
92
  return exitFunction(newTransaction, undefined, await Reflect.apply(obj, newTransaction.bindToTransaction(thisArg), invocationArgs));
93
93
  }
@@ -95,7 +95,7 @@ function transactional(...data) {
95
95
  return exitFunction(newTransaction, e);
96
96
  }
97
97
  }, data.length ? data : undefined);
98
- Transaction_1.Transaction.submit(newTransaction);
98
+ Transaction_js_1.Transaction.submit(newTransaction);
99
99
  }
100
100
  });
101
101
  },
@@ -103,11 +103,12 @@ function transactional(...data) {
103
103
  return descriptor;
104
104
  };
105
105
  }
106
- return decoration_1.Decoration.for(constants_1.TransactionalKeys.TRANSACTIONAL)
106
+ return decoration_1.Decoration.for(constants_js_1.TransactionalKeys.TRANSACTIONAL)
107
107
  .define({
108
108
  decorator: innerTransactional,
109
109
  args: data,
110
110
  })
111
111
  .apply();
112
112
  }
113
+ //# sourceMappingURL=decorators.js.map
113
114
  //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["decorators.js"],"names":[],"mappings":"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"}
@@ -8,4 +8,5 @@ class TimeoutError extends db_decorators_1.InternalError {
8
8
  }
9
9
  }
10
10
  exports.TimeoutError = TimeoutError;
11
+ //# sourceMappingURL=errors.js.map
11
12
  //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["errors.js"],"names":[],"mappings":";;;AAAA,2DAAwD;AACxD,MAAa,YAAa,SAAQ,6BAAa;IAC3C,YAAY,OAAO,GAAG,uBAAuB;QACzC,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;CACJ;AAJD,oCAIC;AACD,kCAAkC"}
package/lib/cjs/index.cjs CHANGED
@@ -35,7 +35,8 @@ __exportStar(require("./types.cjs"), exports);
35
35
  * @const VERSION
36
36
  * @memberOf module:transactions
37
37
  */
38
- exports.VERSION = "0.5.0";
38
+ exports.VERSION = "0.6.0";
39
39
  exports.PACKAGE_NAME = "@decaf-ts/transactional-decorators";
40
40
  decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
41
+ //# sourceMappingURL=index.js.map
41
42
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAgD;AAChD,wDAAsC;AACtC,mDAAiC;AACjC,uDAAqC;AACrC,iDAA+B;AAC/B,8CAA4B;AAC5B,kDAAgC;AAChC,mDAAiC;AACjC,6CAA2B;AAC3B;;;;GAIG;AACH;;;;;GAKG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AACxB,QAAA,YAAY,GAAG,aAAa,CAAC;AAC1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC;AAChD,iCAAiC"}
@@ -1,3 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=TransactionLock.js.map
3
4
  //# sourceMappingURL=TransactionLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionLock.js","sourceRoot":"","sources":["TransactionLock.js"],"names":[],"mappings":";;AACA,2CAA2C"}
@@ -1,9 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * @description Transaction interfaces module
4
- * @summary Contains interface definitions for the transaction system, providing contracts for transaction-related components
5
- * @module transactions/interfaces
6
- */
7
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
3
  if (k2 === undefined) k2 = k;
9
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -19,5 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
15
  };
21
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * @description Transaction interfaces module
19
+ * @summary Contains interface definitions for the transaction system, providing contracts for transaction-related components
20
+ * @module transactions/interfaces
21
+ */
22
22
  __exportStar(require("./TransactionLock.cjs"), exports);
23
+ //# sourceMappingURL=index.js.map
23
24
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,uDAAqC;AACrC,iCAAiC"}
@@ -74,4 +74,5 @@ class Lock {
74
74
  }
75
75
  }
76
76
  exports.Lock = Lock;
77
+ //# sourceMappingURL=Lock.js.map
77
78
  //# sourceMappingURL=Lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lock.js","sourceRoot":"","sources":["Lock.js"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;GAWG;AACH,MAAa,IAAI;IACb;QACI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IACD;;;;;OAKG;IACH,6DAA6D;IAC7D,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;QACvB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAClB,CAAC;IACD;;;OAGG;IACH,6DAA6D;IAC7D,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI;QACjB,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC9D,CAAC;aACI,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IACD;;OAEG;IACH,6DAA6D;IAC7D,OAAO,CAAC,GAAG,IAAI;QACX,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW;gBACxC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB;;gBAExD,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,4BAA4B;QACzD,CAAC;aACI,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,CAAC;IACL,CAAC;CACJ;AA3DD,oBA2DC;AACD,gCAAgC"}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MultiLock = void 0;
4
- const Lock_1 = require("./Lock.cjs");
5
- class MultiLock extends Lock_1.Lock {
4
+ const Lock_js_1 = require("./Lock.cjs");
5
+ class MultiLock extends Lock_js_1.Lock {
6
6
  constructor() {
7
7
  super();
8
8
  this.locks = {};
9
- this.lock = new Lock_1.Lock();
9
+ this.lock = new Lock_js_1.Lock();
10
10
  }
11
11
  async lockFor(name) {
12
12
  await this.lock.acquire();
13
13
  if (!this.locks[name])
14
- this.locks[name] = new Lock_1.Lock();
14
+ this.locks[name] = new Lock_js_1.Lock();
15
15
  this.lock.release();
16
16
  return this.locks[name];
17
17
  }
@@ -31,4 +31,5 @@ class MultiLock extends Lock_1.Lock {
31
31
  }
32
32
  }
33
33
  exports.MultiLock = MultiLock;
34
+ //# sourceMappingURL=MultiLock.js.map
34
35
  //# sourceMappingURL=MultiLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiLock.js","sourceRoot":"","sources":["MultiLock.js"],"names":[],"mappings":";;;AAAA,uCAAiC;AACjC,MAAa,SAAU,SAAQ,cAAI;IAC/B;QACI,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,cAAI,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAI;QACd,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,cAAI,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI;QACjB,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACjC,CAAC;CACJ;AA3BD,8BA2BC;AACD,qCAAqC"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SynchronousLock = void 0;
4
- const Transaction_1 = require("./../Transaction.cjs");
5
- const Lock_1 = require("./Lock.cjs");
4
+ const Transaction_js_1 = require("./../Transaction.cjs");
5
+ const Lock_js_1 = require("./Lock.cjs");
6
6
  const logging_1 = require("@decaf-ts/logging");
7
7
  /**
8
8
  * @summary Simple Synchronous Lock implementation
@@ -19,7 +19,7 @@ const logging_1 = require("@decaf-ts/logging");
19
19
  class SynchronousLock extends logging_1.LoggedClass {
20
20
  get log() {
21
21
  if (!this["_log"]) {
22
- this["_log"] = Transaction_1.Transaction["log"].for(this);
22
+ this["_log"] = Transaction_js_1.Transaction["log"].for(this);
23
23
  }
24
24
  return this["_log"];
25
25
  }
@@ -37,7 +37,7 @@ class SynchronousLock extends logging_1.LoggedClass {
37
37
  this.pendingTransactions = [];
38
38
  this.currentTransaction = undefined;
39
39
  this.loggerCache = new Map();
40
- this.lock = new Lock_1.Lock();
40
+ this.lock = new Lock_js_1.Lock();
41
41
  }
42
42
  /**
43
43
  * @summary Submits a transaction to be processed
@@ -132,4 +132,5 @@ class SynchronousLock extends logging_1.LoggedClass {
132
132
  }
133
133
  }
134
134
  exports.SynchronousLock = SynchronousLock;
135
+ //# sourceMappingURL=SynchronousLock.js.map
135
136
  //# sourceMappingURL=SynchronousLock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SynchronousLock.js","sourceRoot":"","sources":["SynchronousLock.js"],"names":[],"mappings":"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"}
@@ -1,9 +1,4 @@
1
1
  "use strict";
2
- /**
3
- * @description Transaction lock implementations module
4
- * @summary Contains implementations of the TransactionLock interface, providing different concurrency control strategies for transactions
5
- * @module transactions/locks
6
- */
7
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
3
  if (k2 === undefined) k2 = k;
9
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -19,7 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
15
  };
21
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * @description Transaction lock implementations module
19
+ * @summary Contains implementations of the TransactionLock interface, providing different concurrency control strategies for transactions
20
+ * @module transactions/locks
21
+ */
22
22
  __exportStar(require("./Lock.cjs"), exports);
23
23
  __exportStar(require("./MultiLock.cjs"), exports);
24
24
  __exportStar(require("./SynchronousLock.cjs"), exports);
25
+ //# sourceMappingURL=index.js.map
25
26
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,4CAA0B;AAC1B,iDAA+B;AAC/B,uDAAqC;AACrC,iCAAiC"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  require("@decaf-ts/decoration");
4
+ //# sourceMappingURL=Metadata.js.map
4
5
  //# sourceMappingURL=Metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["Metadata.js"],"names":[],"mappings":";;AAAA,gCAA8B;AAC9B,oCAAoC"}
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./Metadata.cjs"), exports);
18
18
  __exportStar(require("./overrides.cjs"), exports);
19
+ //# sourceMappingURL=index.js.map
19
20
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iDAA+B;AAC/B,iCAAiC"}
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const decoration_1 = require("@decaf-ts/decoration");
4
- const constants_1 = require("./../constants.cjs");
4
+ const constants_js_1 = require("./../constants.cjs");
5
5
  decoration_1.Metadata.transactionals = function (obj) {
6
- const meta = decoration_1.Metadata.get(obj, constants_1.TransactionalKeys.TRANSACTIONAL);
6
+ const meta = decoration_1.Metadata.get(obj, constants_js_1.TransactionalKeys.TRANSACTIONAL);
7
7
  if (!meta)
8
8
  return [];
9
9
  return Object.keys(meta);
10
10
  };
11
11
  decoration_1.Metadata.isTransactional = function (obj) {
12
- return !!decoration_1.Metadata.get(obj, constants_1.TransactionalKeys.TRANSACTIONAL);
12
+ return !!decoration_1.Metadata.get(obj, constants_js_1.TransactionalKeys.TRANSACTIONAL);
13
13
  };
14
+ //# sourceMappingURL=overrides.js.map
14
15
  //# sourceMappingURL=overrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["overrides.js"],"names":[],"mappings":";;AAAA,qDAAgD;AAChD,oDAAsD;AACtD,qBAAQ,CAAC,cAAc,GAAG,UAAU,GAAG;IACnC,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,gCAAiB,CAAC,aAAa,CAAC,CAAC;IAChE,IAAI,CAAC,IAAI;QACL,OAAO,EAAE,CAAC;IACd,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC;AACF,qBAAQ,CAAC,eAAe,GAAG,UAAU,GAAG;IACpC,OAAO,CAAC,CAAC,qBAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,gCAAiB,CAAC,aAAa,CAAC,CAAC;AAChE,CAAC,CAAC;AACF,qCAAqC"}
package/lib/cjs/types.cjs CHANGED
@@ -11,4 +11,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  // * @memberOf module:transactions
12
12
  // */
13
13
  // export type Callback = (err?: Error, result?: any, ...args: any[]) => void;
14
+ //# sourceMappingURL=types.js.map
14
15
  //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.js"],"names":[],"mappings":";;AACA,EAAE;AACF,MAAM;AACN,8EAA8E;AAC9E,4JAA4J;AAC5J,kCAAkC;AAClC,0EAA0E;AAC1E,4EAA4E;AAC5E,sFAAsF;AACtF,mCAAmC;AACnC,MAAM;AACN,8EAA8E;AAC9E,iCAAiC"}
package/lib/esm/index.js CHANGED
@@ -18,7 +18,7 @@ export * from "./types.js";
18
18
  * @const VERSION
19
19
  * @memberOf module:transactions
20
20
  */
21
- export const VERSION = "0.5.0";
21
+ export const VERSION = "0.6.0";
22
22
  export const PACKAGE_NAME = "@decaf-ts/transactional-decorators";
23
23
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
24
24
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,160 @@
1
+ import { TransactionLock } from "./interfaces/TransactionLock.cjs";
2
+ import "./overrides";
3
+ import { LoggedClass } from "@decaf-ts/logging";
4
+ type TransactionRunnable<R, C = unknown> = (this: C) => R | Promise<R>;
5
+ /**
6
+ * @description Core transaction management class
7
+ * @summary Manages transaction lifecycle, including creation, execution, and cleanup. Provides mechanisms for binding transactions to objects and methods, ensuring proper transaction context propagation.
8
+ * @param {string} source - The source/origin of the transaction (typically a class name)
9
+ * @param {string} [method] - The method name associated with the transaction
10
+ * @param {function(): any} [action] - The function to execute within the transaction
11
+ * @param {any[]} [metadata] - Additional metadata to associate with the transaction
12
+ * @class Transaction
13
+ * @example
14
+ * // Creating and submitting a transaction
15
+ * const transaction = new Transaction(
16
+ * 'UserService',
17
+ * 'createUser',
18
+ * async () => {
19
+ * // Transaction logic here
20
+ * await db.insert('users', { name: 'John' });
21
+ * }
22
+ * );
23
+ * Transaction.submit(transaction);
24
+ *
25
+ * // Using the transactional decorator
26
+ * class UserService {
27
+ * @transactional()
28
+ * async createUser(data) {
29
+ * // Method will be executed within a transaction
30
+ * return await db.insert('users', data);
31
+ * }
32
+ * }
33
+ * @mermaid
34
+ * sequenceDiagram
35
+ * participant C as Client Code
36
+ * participant T as Transaction
37
+ * participant L as TransactionLock
38
+ * participant O as Original Method
39
+ *
40
+ * C->>T: new Transaction(source, method, action)
41
+ * C->>T: Transaction.submit(transaction)
42
+ * T->>L: submit(transaction)
43
+ * L->>T: fire()
44
+ * T->>O: Execute action()
45
+ * O-->>T: Return result/error
46
+ * T->>L: release(error?)
47
+ * L-->>C: Return result/error
48
+ */
49
+ export declare class Transaction<R> extends LoggedClass {
50
+ static debug: boolean;
51
+ static globalTimeout: number;
52
+ private static readonly metadataCache;
53
+ private static log;
54
+ get log(): any;
55
+ readonly id: number;
56
+ protected action?: () => Promise<R>;
57
+ readonly method?: string;
58
+ readonly source?: string;
59
+ readonly logs: string[];
60
+ private readonly metadata?;
61
+ private readonly completion;
62
+ private resolveCompletion?;
63
+ private rejectCompletion?;
64
+ private initialFireDispatched;
65
+ private released;
66
+ private static lock;
67
+ private static readonly contexts;
68
+ constructor(source: string, method?: string, action?: () => Promise<R>, metadata?: any[]);
69
+ /**
70
+ * @description Queues a transaction for execution
71
+ * @summary Pushes a transaction to the queue and waits for its resolution. Creates a new transaction with the provided issuer and callback method, then submits it to the transaction lock.
72
+ * @param {any} issuer - Any class instance that will be used as 'this' when calling the callbackMethod
73
+ * @param {Function} method - function containing the transaction logic, will be called with the issuer as 'this'
74
+ * @param {any[]} args - Arguments to pass to the method. Last one must be the callback function
75
+ * @return {void}
76
+ */
77
+ static push<R>(issuer: any, method: (...argzz: any[]) => Promise<R>, ...args: any[]): Promise<R>;
78
+ static run<R, C = unknown>(runnable: TransactionRunnable<R, C>, metadata?: any[]): Promise<R>;
79
+ static run<R, C = unknown>(context: C, runnable: TransactionRunnable<R, C>, metadata?: any[]): Promise<R>;
80
+ /**
81
+ * @description Configures the transaction lock implementation
82
+ * @summary Sets the lock implementation to be used for transaction management, allowing customization of the transaction behavior
83
+ * @param {TransactionLock} lock - The lock implementation to use for managing transactions
84
+ * @return {void}
85
+ */
86
+ static setLock(lock: TransactionLock): void;
87
+ /**
88
+ * @description Retrieves the current transaction lock
89
+ * @summary Gets the current transaction lock instance, creating a default SyncronousLock if none exists
90
+ * @return {TransactionLock} The current transaction lock implementation
91
+ */
92
+ static getLock(): TransactionLock;
93
+ /**
94
+ * @description Submits a transaction for processing
95
+ * @summary Submits a transaction to the current transaction lock for processing and execution
96
+ * @param {Transaction} transaction - The transaction to submit for processing
97
+ * @return {void}
98
+ */
99
+ static submit<R>(transaction: Transaction<R>): Promise<R>;
100
+ /**
101
+ * @description Releases the transaction lock
102
+ * @summary Releases the current transaction lock, optionally with an error, allowing the next transaction to proceed
103
+ * @param {Error} [err] - Optional error that occurred during transaction execution
104
+ * @return {Promise<void>} A promise that resolves when the lock has been released
105
+ */
106
+ static release(err?: Error): Promise<void>;
107
+ /**
108
+ * @description Releases the transaction instance once
109
+ * @summary Ensures the underlying lock is released at most a single time for the transaction
110
+ * @param {Error} [err] - Optional error to propagate to the lock implementation
111
+ * @return {Promise<void>} Resolves once the lock release call finishes or immediately when already released
112
+ */
113
+ release(err?: Error): Promise<void>;
114
+ /**
115
+ * @description Retrieves transaction metadata
116
+ * @summary Returns a copy of the metadata associated with this transaction, ensuring the original metadata remains unmodified
117
+ * @return {any[] | undefined} A copy of the transaction metadata or undefined if no metadata exists
118
+ */
119
+ getMetadata(): any[] | undefined;
120
+ private static getTransactionalMetadata;
121
+ /**
122
+ * @description Links a new transaction to the current one
123
+ * @summary Binds a new transaction operation to the current transaction, transferring logs and binding methods to maintain transaction context
124
+ * @param {Transaction} nextTransaction - The new transaction to bind to the current one
125
+ * @return {void}
126
+ */
127
+ bindTransaction(nextTransaction: Transaction<any>): void;
128
+ /**
129
+ * @description Binds an object to the current transaction context
130
+ * @summary Binds a transactional decorated object to the transaction by ensuring all transactional methods automatically receive the current transaction as their first argument
131
+ * @param {any} obj - The object to bind to the transaction
132
+ * @return {any} The bound object with transaction-aware method wrappers
133
+ */
134
+ bindToTransaction(obj: any): any;
135
+ /**
136
+ * @description Applies the global timeout to the provided Promise, if configured
137
+ * @param {Promise<R>} execution - Transaction execution promise
138
+ * @return {Promise<R>} Promise that respects the configured global timeout
139
+ * @private
140
+ */
141
+ private applyGlobalTimeout;
142
+ /**
143
+ * @description Executes the transaction action
144
+ * @summary Fires the transaction by executing its associated action function, throwing an error if no action is defined
145
+ * @return {any} The result of the transaction action
146
+ */
147
+ fire(): Promise<R>;
148
+ /**
149
+ * @description Provides a string representation of the transaction
150
+ * @summary Overrides the default toString method to provide a formatted string representation of the transaction, optionally including the transaction ID and log
151
+ * @param {boolean} [withId=true] - Whether to include the transaction ID in the output
152
+ * @param {boolean} [withLog=false] - Whether to include the transaction log in the output
153
+ * @return {string} A string representation of the transaction
154
+ */
155
+ toString(withId?: boolean, withLog?: boolean): string;
156
+ static contextTransaction(context: any): Transaction<any> | undefined;
157
+ wait(): Promise<R>;
158
+ private static describeTarget;
159
+ }
160
+ export {};