@decaf-ts/transactional-decorators 0.1.2 → 0.1.4
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/LICENSE.md +17 -152
- package/README.md +242 -17
- package/dist/transactional-decorators.cjs +2 -544
- package/dist/transactional-decorators.cjs.map +1 -0
- package/dist/transactional-decorators.js +2 -0
- package/dist/transactional-decorators.js.map +1 -0
- package/lib/Transaction.cjs +87 -39
- package/lib/Transaction.d.ts +86 -38
- package/lib/Transaction.js.map +1 -0
- package/lib/constants.cjs +14 -1
- package/lib/constants.d.ts +13 -0
- package/lib/constants.js.map +1 -0
- package/lib/decorators.cjs +35 -11
- package/lib/decorators.d.ts +34 -10
- package/lib/decorators.js.map +1 -0
- package/lib/esm/Transaction.d.ts +86 -38
- package/lib/esm/Transaction.js +90 -42
- package/lib/esm/Transaction.js.map +1 -0
- package/lib/esm/constants.d.ts +13 -0
- package/lib/esm/constants.js +14 -1
- package/lib/esm/constants.js.map +1 -0
- package/lib/esm/decorators.d.ts +34 -10
- package/lib/esm/decorators.js +37 -13
- package/lib/esm/decorators.js.map +1 -0
- package/lib/esm/index.d.ts +7 -13
- package/lib/esm/index.js +14 -20
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/interfaces/TransactionLock.d.ts +13 -11
- package/lib/esm/interfaces/TransactionLock.js +1 -1
- package/lib/esm/interfaces/TransactionLock.js.map +1 -0
- package/lib/esm/interfaces/index.d.ts +5 -0
- package/lib/esm/interfaces/index.js +7 -2
- package/lib/esm/interfaces/index.js.map +1 -0
- package/lib/esm/locks/Lock.d.ts +13 -5
- package/lib/esm/locks/Lock.js +14 -6
- package/lib/esm/locks/Lock.js.map +1 -0
- package/lib/esm/locks/SyncronousLock.d.ts +3 -4
- package/lib/esm/locks/SyncronousLock.js +14 -2
- package/lib/esm/locks/SyncronousLock.js.map +1 -0
- package/lib/esm/locks/index.d.ts +5 -0
- package/lib/esm/locks/index.js +8 -3
- package/lib/esm/locks/index.js.map +1 -0
- package/lib/esm/types.d.ts +13 -3
- package/lib/esm/types.js +1 -1
- package/lib/esm/types.js.map +1 -0
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -0
- package/lib/index.cjs +8 -14
- package/lib/index.d.ts +7 -13
- package/lib/index.js.map +1 -0
- package/lib/interfaces/TransactionLock.cjs +1 -1
- package/lib/interfaces/TransactionLock.d.ts +13 -11
- package/lib/interfaces/TransactionLock.js.map +1 -0
- package/lib/interfaces/index.cjs +6 -1
- package/lib/interfaces/index.d.ts +5 -0
- package/lib/interfaces/index.js.map +1 -0
- package/lib/locks/Lock.cjs +14 -6
- package/lib/locks/Lock.d.ts +13 -5
- package/lib/locks/Lock.js.map +1 -0
- package/lib/locks/SyncronousLock.cjs +13 -1
- package/lib/locks/SyncronousLock.d.ts +3 -4
- package/lib/locks/SyncronousLock.js.map +1 -0
- package/lib/locks/index.cjs +6 -1
- package/lib/locks/index.d.ts +5 -0
- package/lib/locks/index.js.map +1 -0
- package/lib/types.cjs +1 -1
- package/lib/types.d.ts +13 -3
- package/lib/types.js.map +1 -0
- package/lib/utils.cjs +1 -1
- package/lib/utils.js.map +1 -0
- package/package.json +24 -25
- package/dist/transactional-decorators.esm.cjs +0 -533
package/lib/interfaces/index.cjs
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
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
|
+
*/
|
|
2
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
8
|
if (k2 === undefined) k2 = k;
|
|
4
9
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -15,4 +20,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
20
|
};
|
|
16
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
22
|
__exportStar(require("./TransactionLock.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,wDAAkC"}
|
package/lib/locks/Lock.cjs
CHANGED
|
@@ -2,10 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Lock = void 0;
|
|
4
4
|
/**
|
|
5
|
-
* @
|
|
6
|
-
*
|
|
5
|
+
* @description Base lock implementation for concurrency control
|
|
6
|
+
* @summary Provides a basic lock mechanism for controlling access to shared resources, with support for queuing and executing functions when the lock is available
|
|
7
7
|
* @class Lock
|
|
8
|
-
* @
|
|
8
|
+
* @example
|
|
9
|
+
* // Using the Lock class to execute a function with exclusive access
|
|
10
|
+
* const lock = new Lock();
|
|
11
|
+
* const result = await lock.execute(async () => {
|
|
12
|
+
* // This code will run with exclusive access
|
|
13
|
+
* return await performCriticalOperation();
|
|
14
|
+
* });
|
|
9
15
|
*/
|
|
10
16
|
class Lock {
|
|
11
17
|
constructor() {
|
|
@@ -13,8 +19,10 @@ class Lock {
|
|
|
13
19
|
this.locked = false;
|
|
14
20
|
}
|
|
15
21
|
/**
|
|
16
|
-
* @
|
|
17
|
-
* @
|
|
22
|
+
* @description Executes a function with exclusive lock access
|
|
23
|
+
* @summary Acquires the lock, executes the provided function, and releases the lock afterward, ensuring proper cleanup even if the function throws an error
|
|
24
|
+
* @param {Function} func - The function to execute when the lock is acquired
|
|
25
|
+
* @return {Promise<any>} A promise that resolves with the result of the executed function
|
|
18
26
|
*/
|
|
19
27
|
async execute(func) {
|
|
20
28
|
await this.acquire();
|
|
@@ -63,4 +71,4 @@ class Lock {
|
|
|
63
71
|
}
|
|
64
72
|
}
|
|
65
73
|
exports.Lock = Lock;
|
|
66
|
-
//# sourceMappingURL=
|
|
74
|
+
//# sourceMappingURL=Lock.js.map
|
package/lib/locks/Lock.d.ts
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
*
|
|
2
|
+
* @description Base lock implementation for concurrency control
|
|
3
|
+
* @summary Provides a basic lock mechanism for controlling access to shared resources, with support for queuing and executing functions when the lock is available
|
|
4
4
|
* @class Lock
|
|
5
|
-
* @
|
|
5
|
+
* @example
|
|
6
|
+
* // Using the Lock class to execute a function with exclusive access
|
|
7
|
+
* const lock = new Lock();
|
|
8
|
+
* const result = await lock.execute(async () => {
|
|
9
|
+
* // This code will run with exclusive access
|
|
10
|
+
* return await performCriticalOperation();
|
|
11
|
+
* });
|
|
6
12
|
*/
|
|
7
13
|
export declare class Lock {
|
|
8
14
|
private queue;
|
|
9
15
|
private locked;
|
|
10
16
|
/**
|
|
11
|
-
* @
|
|
12
|
-
* @
|
|
17
|
+
* @description Executes a function with exclusive lock access
|
|
18
|
+
* @summary Acquires the lock, executes the provided function, and releases the lock afterward, ensuring proper cleanup even if the function throws an error
|
|
19
|
+
* @param {Function} func - The function to execute when the lock is acquired
|
|
20
|
+
* @return {Promise<any>} A promise that resolves with the result of the executed function
|
|
13
21
|
*/
|
|
14
22
|
execute(func: () => any): Promise<any>;
|
|
15
23
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lock.js","sourceRoot":"","sources":["../../src/locks/Lock.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;GAWG;AACH,MAAa,IAAI;IAAjB;QACU,UAAK,GAAmB,EAAE,CAAC;QAC3B,WAAM,GAAG,KAAK,CAAC;IAqDzB,CAAC;IAnDC;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,IAAe;QAC3B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO;QACX,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC;QAClB,MAAM,IAAI,GAA6B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1D,IAAI,IAAI,EAAE,CAAC;YACT,IACE,OAAQ,UAAyC,CAAC,MAAM,KAAK,WAAW;gBAExE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB;;gBACrD,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,4BAA4B;QACxD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAvDD,oBAuDC"}
|
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SyncronousLock = void 0;
|
|
4
4
|
const Lock_1 = require("./Lock.cjs");
|
|
5
|
+
/**
|
|
6
|
+
* @summary Simple Synchronous Lock implementation
|
|
7
|
+
* @description for transaction management
|
|
8
|
+
* adapted from {@link https://www.talkinghightech.com/en/creating-a-js-lock-for-a-resource/}
|
|
9
|
+
*
|
|
10
|
+
* @param {number} [counter] the number of simultaneous transactions allowed. defaults to 1
|
|
11
|
+
* @param {Function} [onBegin] to be called at the start of the transaction
|
|
12
|
+
* @param {Function} [onEnd] to be called at the conclusion of the transaction
|
|
13
|
+
*
|
|
14
|
+
* @class SyncronousLock
|
|
15
|
+
* @implements TransactionLock
|
|
16
|
+
*/
|
|
5
17
|
class SyncronousLock {
|
|
6
18
|
constructor(counter = 1, onBegin, onEnd) {
|
|
7
19
|
this.currentTransaction = undefined;
|
|
@@ -117,4 +129,4 @@ class SyncronousLock {
|
|
|
117
129
|
}
|
|
118
130
|
}
|
|
119
131
|
exports.SyncronousLock = SyncronousLock;
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3luY3Jvbm91c0xvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ja3MvU3luY3Jvbm91c0xvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZUEscUNBQThCO0FBRTlCLE1BQWEsY0FBYztJQVN6QixZQUNFLFVBQWtCLENBQUMsRUFDbkIsT0FBNkIsRUFDN0IsS0FBc0M7UUFUeEMsdUJBQWtCLEdBQWlCLFNBQVMsQ0FBQztRQUk1QixTQUFJLEdBQUcsSUFBSSxXQUFJLEVBQUUsQ0FBQztRQU9qQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsV0FBd0I7UUFDN0IsNERBQTREO1FBQzVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFDRSxJQUFJLENBQUMsa0JBQWtCO2dCQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLEVBQzdDLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUIsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFX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QUFDO29CQUNaLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFFRixJQUFJLElBQUksQ0FBQyxLQUFLO29CQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQzs7b0JBQzNELGlCQUFpQixFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBJRCx3Q0FvSUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBzdW1tYXJ5IFNpbXBsZSBTeW5jaHJvbm91cyBMb2NrIGltcGxlbWVudGF0aW9uXG4gKiBAZGVzY3JpcHRpb24gZm9yIHRyYW5zYWN0aW9uIG1hbmFnZW1lbnRcbiAqIGFkYXB0ZWQgZnJvbSB7QGxpbmsgaHR0cHM6Ly93d3cudGFsa2luZ2hpZ2h0ZWNoLmNvbS9lbi9jcmVhdGluZy1hLWpzLWxvY2stZm9yLWEtcmVzb3VyY2UvfVxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBbY291bnRlcl0gdGhlIG51bWJlciBvZiBzaW11bHRhbmVvdXMgdHJhbnNhY3Rpb25zIGFsbG93ZWQuIGRlZmF1bHRzIHRvIDFcbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtvbkJlZ2luXSB0byBiZSBjYWxsZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSB0cmFuc2FjdGlvblxuICogQHBhcmFtIHtGdW5jdGlvbn0gW29uRW5kXSB0byBiZSBjYWxsZWQgYXQgdGhlIGNvbmNsdXNpb24gb2YgdGhlIHRyYW5zYWN0aW9uXG4gKlxuICogQGNsYXNzIFN5bmNyb25vdXNMb2NrXG4gKiBAaW1wbGVtZW50cyBUcmFuc2FjdGlvbkxvY2tcbiAqXG4gKiBAY2F0ZWdvcnkgVHJhbnNhY3Rpb25zXG4gKi8gaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tIFwiLi4vVHJhbnNhY3Rpb25cIjtcbmltcG9ydCB7IFRyYW5zYWN0aW9uTG9jayB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL1RyYW5zYWN0aW9uTG9ja1wiO1xuaW1wb3J0IHsgTG9jayB9IGZyb20gXCIuL0xvY2tcIjtcblxuZXhwb3J0IGNsYXNzIFN5bmNyb25vdXNMb2NrIGltcGxlbWVudHMgVHJhbnNhY3Rpb25Mb2NrIHtcbiAgcHJpdmF0ZSBjb3VudGVyOiBudW1iZXI7XG4gIHByaXZhdGUgcGVuZGluZ1RyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXTtcbiAgY3VycmVudFRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgb25CZWdpbj86ICgpID0+IFByb21pc2U8dm9pZD47XG4gIHByaXZhdGUgcmVhZG9ubHkgb25FbmQ/OiAoZXJyPzogRXJyb3IpID0+IFByb21pc2U8dm9pZD47XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsb2NrID0gbmV3IExvY2soKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjb3VudGVyOiBudW1iZXIgPSAxLFxuICAgIG9uQmVnaW4/OiAoKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgIG9uRW5kPzogKGVycj86IEVycm9yKSA9PiBQcm9taXNlPHZvaWQ+LFxuICApIHtcbiAgICB0aGlzLmNvdW50ZXIgPSBjb3VudGVyO1xuICAgIHRoaXMucGVuZGluZ1RyYW5zYWN0aW9ucyA9IFtdO1xuICAgIHRoaXMub25CZWdpbiA9IG9uQmVnaW47XG4gICAgdGhpcy5vbkVuZCA9IG9uRW5kO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFN1Ym1pdHMgYSB0cmFuc2FjdGlvbiB0byBiZSBwcm9jZXNzZWRcbiAgICogQHBhcmFtIHtUcmFuc2FjdGlvbn0gdHJhbnNhY3Rpb25cbiAgICovXG4gIHN1Ym1pdCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBzZWxmLmxvY2suYWNxdWlyZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBzZWxmLmN1cnJlbnRUcmFuc2FjdGlvbiAmJlxuICAgICAgICBzZWxmLmN1cnJlbnRUcmFuc2FjdGlvbi5pZCA9PT0gdHJhbnNhY3Rpb24uaWRcbiAgICAgICkge1xuICAgICAgICBzZWxmLmxvY2sucmVsZWFzZSgpO1xuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24uZmlyZSgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2VsZi5jb3VudGVyID4gMCkge1xuICAgICAgICBzZWxmLmNvdW50ZXItLTtcbiAgICAgICAgc2VsZi5sb2NrLnJlbGVhc2UoKTtcbiAgICAgICAgcmV0dXJuIHNlbGYuZmlyZVRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlbGYucGVuZGluZ1RyYW5zYWN0aW9ucy5wdXNoKHRyYW5zYWN0aW9uKTtcbiAgICAgICAgc2VsZi5sb2NrLnJlbGVhc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBFeGVjdXRlcyBhIHRyYW5zYWN0aW9uXG4gICAqXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHRyYW5zYWN0aW9uXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGZpcmVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBzZWxmLmxvY2suYWNxdWlyZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgc2VsZi5jdXJyZW50VHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjtcbiAgICAgIHNlbGYubG9jay5yZWxlYXNlKCk7XG4gICAgICBpZiAoc2VsZi5vbkJlZ2luKVxuICAgICAgICBzZWxmLm9uQmVnaW4oKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAvLyBhbGwuY2FsbChcbiAgICAgICAgICAvLyAgIHNlbGYsXG4gICAgICAgICAgLy8gICBgRmlyaW5nIHRyYW5zYWN0aW9uIHswfS4gezF9IHJlbWFpbmluZy4uLmAsXG4gICAgICAgICAgLy8gICB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgICAvLyAgIHRoaXMucGVuZGluZ1RyYW5zYWN0aW9ucy5sZW5ndGgsXG4gICAgICAgICAgLy8gKTtcbiAgICAgICAgICB0cmFuc2FjdGlvbi5maXJlKCk7XG4gICAgICAgIH0pO1xuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIGFsbC5jYWxsKFxuICAgICAgICAvLyAgIHNlbGYsXG4gICAgICAgIC8vICAgYEZpcmluZyB0cmFuc2FjdGlvbiB7MH0uIHsxfSByZW1haW5pbmcuLi5gLFxuICAgICAgICAvLyAgIHRyYW5zYWN0aW9uLmlkLFxuICAgICAgICAvLyAgIHRoaXMucGVuZGluZ1RyYW5zYWN0aW9ucy5sZW5ndGgsXG4gICAgICAgIC8vICk7XG4gICAgICAgIHRyYW5zYWN0aW9uLmZpcmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogQHN1bW1hcnkgUmVsZWFzZXMgVGhlIGxvY2sgYWZ0ZXIgdGhlIGNvbmNsdXNpb24gb2YgYSB0cmFuc2FjdGlvblxuICAgKi9cbiAgYXN5bmMgcmVsZWFzZShlcnI/OiBFcnJvcik6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgc2VsZi5sb2NrLmFjcXVpcmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKCFzZWxmLmN1cnJlbnRUcmFuc2FjdGlvbilcbiAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICBcIlRyeWluZyB0byByZWxlYXNlIGFuIHVuZXhpc3RpbmcgdHJhbnNhY3Rpb24uIHNob3VsZCBuZXZlciBoYXBwZW4uLi5cIixcbiAgICAgICAgICApO1xuICAgICAgICAvLyBkZWJ1Zy5jYWxsKFxuICAgICAgICAvLyAgIHNlbGYsXG4gICAgICAgIC8vICAgXCJSZWxlYXNpbmcgdHJhbnNhY3Rpb246IHswfVwiLFxuICAgICAgICAvLyAgIHNlbGYuY3VycmVudFRyYW5zYWN0aW9uPy50b1N0cmluZyh0cnVlLCB0cnVlKSxcbiAgICAgICAgLy8gKTtcbiAgICAgICAgc2VsZi5jdXJyZW50VHJhbnNhY3Rpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIHNlbGYubG9jay5yZWxlYXNlKCk7XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJDb25jbHVzaW9uQ0IgPSAoKSA9PiB7XG4gICAgICAgICAgc2VsZi5sb2NrLmFjcXVpcmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmIChzZWxmLnBlbmRpbmdUcmFuc2FjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9XG4gICAgICAgICAgICAgICAgc2VsZi5wZW5kaW5nVHJhbnNhY3Rpb25zLnNoaWZ0KCkgYXMgVHJhbnNhY3Rpb247XG5cbiAgICAgICAgICAgICAgY29uc3QgY2IgPSAoKSA9PiBzZWxmLmZpcmVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgIC8vIGFsbChcbiAgICAgICAgICAgICAgLy8gICBgUmVsZWFzaW5nIFRyYW5zYWN0aW9uIExvY2sgb24gdHJhbnNhY3Rpb24gezB9YCxcbiAgICAgICAgICAgICAgLy8gICB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgICAgICAgLy8gKTtcblxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdHlwZW9mIChnbG9iYWxUaGlzIGFzIHVua25vd24gYXMgeyB3aW5kb3c6IGFueSB9KS53aW5kb3cgPT09XG4gICAgICAgICAgICAgICAgXCJ1bmRlZmluZWRcIlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgZ2xvYmFsVGhpcy5wcm9jZXNzLm5leHRUaWNrKGNiKTsgLy8gaWYgeW91IGFyZSBvbiBub2RlXG4gICAgICAgICAgICAgIGVsc2Ugc2V0VGltZW91dChjYiwgMCk7IC8vIGlmIHlvdSBhcmUgaW4gdGhlIGJyb3dzZXJcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNlbGYuY291bnRlcisrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZi5sb2NrLnJlbGVhc2UoKTtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoc2VsZi5vbkVuZCkgc2VsZi5vbkVuZChlcnIpLnRoZW4oKCkgPT4gYWZ0ZXJDb25jbHVzaW9uQ0IoKSk7XG4gICAgICAgIGVsc2UgYWZ0ZXJDb25jbHVzaW9uQ0IoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
132
|
+
//# sourceMappingURL=SyncronousLock.js.map
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Transaction } from "../Transaction";
|
|
2
|
+
import { TransactionLock } from "../interfaces/TransactionLock";
|
|
1
3
|
/**
|
|
2
4
|
* @summary Simple Synchronous Lock implementation
|
|
3
5
|
* @description for transaction management
|
|
@@ -9,10 +11,7 @@
|
|
|
9
11
|
*
|
|
10
12
|
* @class SyncronousLock
|
|
11
13
|
* @implements TransactionLock
|
|
12
|
-
|
|
13
|
-
* @category Transactions
|
|
14
|
-
*/ import { Transaction } from "../Transaction";
|
|
15
|
-
import { TransactionLock } from "../interfaces/TransactionLock";
|
|
14
|
+
*/
|
|
16
15
|
export declare class SyncronousLock implements TransactionLock {
|
|
17
16
|
private counter;
|
|
18
17
|
private pendingTransactions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncronousLock.js","sourceRoot":"","sources":["../../src/locks/SyncronousLock.ts"],"names":[],"mappings":"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"}
|
package/lib/locks/index.cjs
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
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
|
+
*/
|
|
2
7
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
8
|
if (k2 === undefined) k2 = k;
|
|
4
9
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -16,4 +21,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
22
|
__exportStar(require("./Lock.cjs"), exports);
|
|
18
23
|
__exportStar(require("./SyncronousLock.cjs"), exports);
|
|
19
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
package/lib/locks/index.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Transaction lock implementations module
|
|
3
|
+
* @summary Contains implementations of the TransactionLock interface, providing different concurrency control strategies for transactions
|
|
4
|
+
* @module transactions/locks
|
|
5
|
+
*/
|
|
1
6
|
export * from "./Lock";
|
|
2
7
|
export * from "./SyncronousLock";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/locks/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;AAEH,6CAAuB;AACvB,uDAAiC"}
|
package/lib/types.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=types.js.map
|
package/lib/types.d.ts
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
*
|
|
4
|
-
* @
|
|
2
|
+
* @description Function type for transaction lock callbacks
|
|
3
|
+
* @summary Defines a callable function type as perceived by the transaction lock, used for resolving promises in the lock implementation
|
|
4
|
+
* @typedef {Function} LockCallable
|
|
5
|
+
* @memberOf module:transactions
|
|
5
6
|
*/
|
|
6
7
|
export type LockCallable = (value?: void | PromiseLike<void>) => void;
|
|
8
|
+
/**
|
|
9
|
+
* @description Standard callback function type for asynchronous operations
|
|
10
|
+
* @summary Defines a Node.js-style callback function that receives an optional error as the first parameter and optional result and additional arguments
|
|
11
|
+
* @typedef {Function} Callback
|
|
12
|
+
* @param {Error} [err] - Optional error object if the operation failed
|
|
13
|
+
* @param {any} [result] - Optional result of the operation if successful
|
|
14
|
+
* @param {...any} [args] - Additional arguments that may be passed to the callback
|
|
15
|
+
* @memberOf module:transactions
|
|
16
|
+
*/
|
|
7
17
|
export type Callback = (err?: Error, result?: any, ...args: any[]) => void;
|
package/lib/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/lib/utils.cjs
CHANGED
|
@@ -14,4 +14,4 @@ function getObjectName(obj) {
|
|
|
14
14
|
return obj.name;
|
|
15
15
|
return obj.toString();
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;AAAA,sCAWC;AAXD,SAAgB,aAAa,CAAC,GAAQ;IACpC,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IACE,GAAG,CAAC,WAAW;QACf,GAAG,CAAC,WAAW,CAAC,IAAI;QACpB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3D,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;IAC9B,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC;IAC3D,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decaf-ts/transactional-decorators",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Locking and transactions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"types": "lib/index.d.ts",
|
|
11
11
|
"scripts": {
|
|
12
|
-
"do-install": "
|
|
12
|
+
"do-install": "NPM_TOKEN=$(cat .npmtoken) npm install",
|
|
13
13
|
"update-dependencies": "PREFIX=\"decaf-ts\"; npm ls | grep \"$PREFIX\" | awk -F/ '{print $NF}' | sed 's/@.*//' | xargs -I package npm update @\"$PREFIX\"/package",
|
|
14
14
|
"update-scripts": "npx update-scripts",
|
|
15
15
|
"on-first-run": "npx update-scripts --boot",
|
|
@@ -26,13 +26,21 @@
|
|
|
26
26
|
"coverage": "rimraf ./workdocs/reports/data/*.json && npm run test:all -- --coverage --config=./workdocs/reports/jest.coverage.config.ts",
|
|
27
27
|
"lint": "eslint .",
|
|
28
28
|
"lint-fix": "eslint --fix .",
|
|
29
|
+
"prepare-pr": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
|
|
29
30
|
"prepare-release": "npm run lint-fix && npm run build:prod && npm run coverage && npm run docs",
|
|
30
31
|
"release": "./bin/tag-release.sh",
|
|
31
32
|
"clean-publish": "npx clean-publish",
|
|
32
33
|
"drawings": "for FILE in workdocs/drawings/*.drawio; do echo \"converting $FILE to image...\" && docker run --rm -v $(pwd):/data rlespinasse/drawio-export --format png $FILE; done && cp -rf workdocs/drawings/export/* workdocs/resources/",
|
|
33
34
|
"uml": "cd workdocs/uml && for FILE in ./*.puml; do docker run --rm -v $(pwd):/work -w /work miy4/plantuml -DPLANTUML_LIMIT_SIZE=8192 -tpng $FILE; done && cd ../.. && cp -fr workdocs/uml/*.png workdocs/resources/",
|
|
34
35
|
"docs": "npx rimraf ./docs && mkdir docs && npx build-scripts --docs",
|
|
35
|
-
"publish-docs": "docker run -it --rm --user $(id -u):$(id -g) -v \"$(pwd)/workdocs/confluence:/content\" -e ATLASSIAN_API_TOKEN=$(cat .confluence-token) ghcr.io/markdown-confluence/publish:latest"
|
|
36
|
+
"publish-docs": "docker run -it --rm --user $(id -u):$(id -g) -v \"$(pwd)/workdocs/confluence:/content\" -e ATLASSIAN_API_TOKEN=$(cat .confluence-token) ghcr.io/markdown-confluence/publish:latest",
|
|
37
|
+
"repo:init": "codex exec \"$(cat ./.codex/prompts/repo-setup.md)\nbase_path is `./`, initialize the repository\"",
|
|
38
|
+
"repo:setup": "codex exec \"$(cat ./.codex/prompts/repo-setup.md)\nbase_path is ./\"",
|
|
39
|
+
"repo:doc": "codex exec \"$(cat ./.codex/prompts/doc.md) $(cat ./.codex/prompts/bulk-docs.md)\nbase_path is ./\"",
|
|
40
|
+
"repo:tests": "codex exec \"$(cat ./.codex/prompts/bulk-tests.md)\nbase_path is ./ and coverage is 95%\" -s workspace-write",
|
|
41
|
+
"repo:readme": "codex exec \"$(cat ./.codex/prompts/update-readme.md)\nbase_path is ./\"",
|
|
42
|
+
"repo:pr": "npm run repo:doc && npm run repo:tests && npm run repo:readme",
|
|
43
|
+
"sync-codex": "./bin/sync-codex.sh"
|
|
36
44
|
},
|
|
37
45
|
"repository": {
|
|
38
46
|
"type": "git",
|
|
@@ -47,36 +55,27 @@
|
|
|
47
55
|
"dist"
|
|
48
56
|
],
|
|
49
57
|
"keywords": [
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"md",
|
|
56
|
-
"jsdoc",
|
|
57
|
-
"doc",
|
|
58
|
-
"docs",
|
|
59
|
-
"documentation",
|
|
60
|
-
"ci/cd",
|
|
61
|
-
"ci",
|
|
62
|
-
"cd",
|
|
63
|
-
"template",
|
|
58
|
+
"transactions",
|
|
59
|
+
"locking",
|
|
60
|
+
"decorators",
|
|
61
|
+
"concurrency",
|
|
62
|
+
"decaf",
|
|
64
63
|
"typescript",
|
|
65
|
-
"
|
|
64
|
+
"synchronization",
|
|
65
|
+
"consistency",
|
|
66
|
+
"database",
|
|
67
|
+
"pessimistic"
|
|
66
68
|
],
|
|
67
|
-
"author": "Tiago Venceslau",
|
|
68
|
-
"license": "
|
|
69
|
+
"author": "Tiago Venceslau and Contributors",
|
|
70
|
+
"license": "MIT",
|
|
69
71
|
"bugs": {
|
|
70
72
|
"url": "https://github.com/decaf-ts/ts-workspace/issues"
|
|
71
73
|
},
|
|
72
74
|
"homepage": "https://github.com/decaf-ts/ts-workspace#readme",
|
|
73
75
|
"devDependencies": {
|
|
76
|
+
"@decaf-ts/logging": "latest",
|
|
74
77
|
"@decaf-ts/utils": "latest",
|
|
75
78
|
"@eslint/js": "^9.25.1",
|
|
76
|
-
"@rollup/plugin-commonjs": "^28.0.3",
|
|
77
|
-
"@rollup/plugin-json": "^6.1.0",
|
|
78
|
-
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
79
|
-
"@rollup/plugin-typescript": "^12.1.2",
|
|
80
79
|
"@stylistic/eslint-plugin": "^4.2.0",
|
|
81
80
|
"@types/jest": "^29.5.14",
|
|
82
81
|
"clean-publish": "^5.1.0",
|
|
@@ -96,7 +95,6 @@
|
|
|
96
95
|
"npm-check-updates": "^18.0.0",
|
|
97
96
|
"prettier": "3.5.3",
|
|
98
97
|
"rimraf": "^6.0.1",
|
|
99
|
-
"rollup": "^4.40.0",
|
|
100
98
|
"ts-jest": "^29.3.2",
|
|
101
99
|
"ts-loader": "^9.5.2",
|
|
102
100
|
"ts-node": "^10.9.2",
|
|
@@ -105,6 +103,7 @@
|
|
|
105
103
|
},
|
|
106
104
|
"peerDependencies": {
|
|
107
105
|
"@decaf-ts/db-decorators": "latest",
|
|
106
|
+
"@decaf-ts/decoration": "latest",
|
|
108
107
|
"@decaf-ts/decorator-validation": "latest",
|
|
109
108
|
"@decaf-ts/reflection": "latest",
|
|
110
109
|
"reflect-metadata": "^0.2.1"
|