@decaf-ts/transactional-decorators 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,9 @@
1
1
  /**
2
- * @summary gets the transactions reflections key
3
- * @function getRepoKey
4
- * @param {string} key
5
- * @memberOf module:db-decorators.Transactions
6
- * */
7
- export declare const getTransactionalKey: (key: string) => string;
8
- /**
9
- * @summary Sets a class Async (promise based) method as transactional
2
+ * @summary Sets a class Async method as transactional
10
3
  *
11
4
  * @param {any[]} [data] option metadata available to the {@link TransactionLock}
12
5
  *
13
- * @function transactionalPromise
6
+ * @function transactional
14
7
  *
15
8
  * @memberOf module:db-decorators.Decorators.transactions
16
9
  */
@@ -23,4 +16,4 @@ export declare function transactional(...data: any[]): (target: any, propertyKey
23
16
  *
24
17
  * @memberOf module:db-decorators.Transaction
25
18
  */
26
- export declare function transactionalSuperCall(method: any, ...args: any): void;
19
+ export declare function transactionalSuperCall(method: any, ...args: any): any;
@@ -1 +1,161 @@
1
- import{TransactionalKeys}from"./constants";import{metadata}from"@decaf-ts/reflection";import{Transaction}from"./Transaction";let getTransactionalKey=n=>TransactionalKeys.REFLECT+n;function transactional(...l){return function(n,c,a){metadata(getTransactionalKey(TransactionalKeys.TRANSACTIONAL),l)(n,c);let s=a.value;function t(...o){let r=this;return new Promise((t,e)=>{let a=(n,a)=>{Transaction.release(n).then(()=>{if(n)return e(n);t(a)})},i=o.shift();if(i instanceof Transaction){let n=new Transaction(this.constructor.name,c,async()=>{s.call(n.bindToTransaction(r),...o).then(t).catch(e)},l.length?l:void 0);i.bindTransaction(n),i.fire()}else o.unshift(i),i=void 0,i=new Transaction(this.constructor.name,c,()=>{s.call(i.bindToTransaction(r),...o).then(n=>a(void 0,n)).catch(a)},l.length?l:void 0),Transaction.submit(i)})}Object.defineProperty(t,"name",{value:c}),a.value=t}}function transactionalSuperCall(n,...a){n(Transaction.getLock().currentTransaction,...a)}export{getTransactionalKey,transactional,transactionalSuperCall};
1
+ import { TransactionalKeys } from "./constants";
2
+ import { metadata } from "@decaf-ts/reflection";
3
+ import { Transaction } from "./Transaction";
4
+ /**
5
+ * @summary Sets a class Async method as transactional
6
+ *
7
+ * @param {any[]} [data] option metadata available to the {@link TransactionLock}
8
+ *
9
+ * @function transactional
10
+ *
11
+ * @memberOf module:db-decorators.Decorators.transactions
12
+ */
13
+ export function transactional(...data) {
14
+ return function (target, propertyKey, descriptor) {
15
+ metadata(Transaction.key(TransactionalKeys.TRANSACTIONAL), data)(target, propertyKey);
16
+ const originalMethod = descriptor.value;
17
+ const methodWrapper = function (...args) {
18
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
19
+ const self = this;
20
+ return new Promise((resolve, reject) => {
21
+ const cb = (err, result) => {
22
+ Transaction.release(err).then(() => {
23
+ if (err)
24
+ return reject(err);
25
+ resolve(result);
26
+ });
27
+ };
28
+ let transaction = args.shift();
29
+ if (transaction instanceof Transaction) {
30
+ const updatedTransaction = new Transaction(this.constructor.name, propertyKey, async () => {
31
+ originalMethod
32
+ .call(updatedTransaction.bindToTransaction(self), ...args)
33
+ .then(resolve)
34
+ .catch(reject);
35
+ }, data.length ? data : undefined);
36
+ transaction.bindTransaction(updatedTransaction);
37
+ transaction.fire();
38
+ }
39
+ else {
40
+ args.unshift(transaction);
41
+ transaction = new Transaction(this.constructor.name, propertyKey, () => {
42
+ originalMethod
43
+ .call(transaction.bindToTransaction(self), ...args)
44
+ .then((result) => cb(undefined, result))
45
+ .catch(cb);
46
+ }, data.length ? data : undefined);
47
+ Transaction.submit(transaction);
48
+ }
49
+ });
50
+ };
51
+ Object.defineProperty(methodWrapper, "name", {
52
+ value: propertyKey,
53
+ });
54
+ descriptor.value = methodWrapper;
55
+ };
56
+ }
57
+ //
58
+ // /**
59
+ // * @summary Sets a class Async method as transactional
60
+ // *
61
+ // * @param {any[]} [metadata] option metadata available to the {@link TransactionLock}
62
+ // *
63
+ // * @function transactionalAsync
64
+ // *
65
+ // * @memberOf module:db-decorators.Decorators.transactions
66
+ // */
67
+ // export function transactionalAsync(...metadata: any[]) {
68
+ // return function (
69
+ // target: any,
70
+ // propertyKey: string,
71
+ // descriptor: PropertyDescriptor,
72
+ // ) {
73
+ // metadasta(getTransactionalKey(TransactionalKeys.TRANSACTIONAL))
74
+ // Reflect.defineMetadata(
75
+ // ,
76
+ // {
77
+ // type: "async",
78
+ // metadata: metadata.length ? metadata : undefined,
79
+ // } as TransactionalMetadata,
80
+ // target,
81
+ // propertyKey,
82
+ // );
83
+ //
84
+ // const originalMethod = descriptor.value;
85
+ //
86
+ // const methodWrapper = function (this: any, ...args: any[]) {
87
+ // const callback: Callback = args.pop();
88
+ // if (!callback || typeof callback !== "function")
89
+ // throw new CriticalError(`Missing Callback`);
90
+ //
91
+ // const cb = (err?: Err, ...args: any[]) => {
92
+ // Transaction.release(err).then((_) => callback(err, ...args));
93
+ // };
94
+ //
95
+ // const self = this;
96
+ //
97
+ // let transaction = args.shift();
98
+ // if (transaction instanceof Transaction) {
99
+ // const updatedTransaction: Transaction = new Transaction(
100
+ // this.constructor.name,
101
+ // propertyKey,
102
+ // () => {
103
+ // try {
104
+ // return originalMethod.call(
105
+ // updatedTransaction.bindToTransaction(self),
106
+ // ...args,
107
+ // callback,
108
+ // );
109
+ // } catch (e: any) {
110
+ // return callback(e);
111
+ // }
112
+ // },
113
+ // metadata.length ? metadata : undefined,
114
+ // );
115
+ //
116
+ // transaction.bindTransaction(updatedTransaction);
117
+ // transaction.fire();
118
+ // } else {
119
+ // args.unshift(transaction);
120
+ // transaction = undefined;
121
+ // transaction = new Transaction(
122
+ // this.constructor.name,
123
+ // propertyKey,
124
+ // () => {
125
+ // try {
126
+ // return originalMethod.call(
127
+ // transaction.bindToTransaction(self),
128
+ // ...args,
129
+ // cb,
130
+ // );
131
+ // } catch (e: any) {
132
+ // return cb(e);
133
+ // }
134
+ // },
135
+ // metadata.length ? metadata : undefined,
136
+ // );
137
+ // Transaction.submit(transaction);
138
+ // }
139
+ // };
140
+ //
141
+ // Object.defineProperty(methodWrapper, "name", {
142
+ // value: propertyKey,
143
+ // });
144
+ // descriptor.value = methodWrapper;
145
+ // };
146
+ // }
147
+ /**
148
+ * @summary Util function to wrap super calls with the transaction when the super's method is also transactional
149
+ *
150
+ * @param {Function} method the super method (must be bound to the proper this), eg: super.create.bind(this)
151
+ * @param {any[]} args the arguments to call the method with
152
+ *
153
+ * @memberOf module:db-decorators.Transaction
154
+ */
155
+ export function transactionalSuperCall(method, ...args) {
156
+ const lock = Transaction.getLock();
157
+ const currentTransaction = lock.currentTransaction;
158
+ return method(currentTransaction, ...args);
159
+ }
160
+
161
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,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QyxtQ0FBbUM7QUFDbkMseUNBQXlDO0FBQ3pDLG1DQUFtQztBQUNuQyx5QkFBeUI7QUFDekIsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQiw0Q0FBNEM7QUFDNUMsdURBQXVEO0FBQ3ZELDJCQUEyQjtBQUMzQixzQkFBc0I7QUFDdEIsbUJBQW1CO0FBQ25CLGlDQUFpQztBQUNqQyw4QkFBOEI7QUFDOUIsZ0JBQWdCO0FBQ2hCLGVBQWU7QUFDZixvREFBb0Q7QUFDcEQsYUFBYTtBQUNiLDJDQUEyQztBQUMzQyxVQUFVO0FBQ1YsU0FBUztBQUNULEVBQUU7QUFDRixxREFBcUQ7QUFDckQsNEJBQTRCO0FBQzVCLFVBQVU7QUFDVix3Q0FBd0M7QUFDeEMsT0FBTztBQUNQLElBQUk7QUFFSjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLE1BQVcsRUFBRSxHQUFHLElBQVM7SUFDOUQsTUFBTSxJQUFJLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25ELE9BQU8sTUFBTSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb25hbEtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG1ldGFkYXRhIH0gZnJvbSBcIkBkZWNhZi10cy9yZWZsZWN0aW9uXCI7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gXCIuL1RyYW5zYWN0aW9uXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgU2V0cyBhIGNsYXNzIEFzeW5jIG1ldGhvZCBhcyB0cmFuc2FjdGlvbmFsXG4gKlxuICogQHBhcmFtIHthbnlbXX0gIFtkYXRhXSBvcHRpb24gbWV0YWRhdGEgYXZhaWxhYmxlIHRvIHRoZSB7QGxpbmsgVHJhbnNhY3Rpb25Mb2NrfVxuICpcbiAqIEBmdW5jdGlvbiB0cmFuc2FjdGlvbmFsXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpkYi1kZWNvcmF0b3JzLkRlY29yYXRvcnMudHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2FjdGlvbmFsKC4uLmRhdGE6IGFueVtdKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgdGFyZ2V0OiBhbnksXG4gICAgcHJvcGVydHlLZXk6IHN0cmluZyxcbiAgICBkZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKSB7XG4gICAgbWV0YWRhdGEoVHJhbnNhY3Rpb24ua2V5KFRyYW5zYWN0aW9uYWxLZXlzLlRSQU5TQUNUSU9OQUwpLCBkYXRhKShcbiAgICAgIHRhcmdldCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcblxuICAgIGNvbnN0IG9yaWdpbmFsTWV0aG9kID0gZGVzY3JpcHRvci52YWx1ZTtcblxuICAgIGNvbnN0IG1ldGhvZFdyYXBwZXIgPSBmdW5jdGlvbiAodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBjYiA9IChlcnI/OiBFcnJvciwgcmVzdWx0PzogYW55KSA9PiB7XG4gICAgICAgICAgVHJhbnNhY3Rpb24ucmVsZWFzZShlcnIpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGVycikgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuXG4gICAgICAgIGxldCB0cmFuc2FjdGlvbiA9IGFyZ3Muc2hpZnQoKTtcbiAgICAgICAgaWYgKHRyYW5zYWN0aW9uIGluc3RhbmNlb2YgVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKFxuICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgICAgICAgcHJvcGVydHlLZXksXG4gICAgICAgICAgICBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIG9yaWdpbmFsTWV0aG9kXG4gICAgICAgICAgICAgICAgLmNhbGwodXBkYXRlZFRyYW5zYWN0aW9uLmJpbmRUb1RyYW5zYWN0aW9uKHNlbGYpLCAuLi5hcmdzKVxuICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUpXG4gICAgICAgICAgICAgICAgLmNhdGNoKHJlamVjdCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGF0YS5sZW5ndGggPyBkYXRhIDogdW5kZWZpbmVkXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRyYW5zYWN0aW9uLmJpbmRUcmFuc2FjdGlvbih1cGRhdGVkVHJhbnNhY3Rpb24pO1xuICAgICAgICAgIHRyYW5zYWN0aW9uLmZpcmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhcmdzLnVuc2hpZnQodHJhbnNhY3Rpb24pO1xuICAgICAgICAgIHRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKFxuICAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgICAgICAgcHJvcGVydHlLZXksXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIG9yaWdpbmFsTWV0aG9kXG4gICAgICAgICAgICAgICAgLmNhbGwodHJhbnNhY3Rpb24uYmluZFRvVHJhbnNhY3Rpb24oc2VsZiksIC4uLmFyZ3MpXG4gICAgICAgICAgICAgICAgLnRoZW4oKHJlc3VsdDogYW55KSA9PiBjYih1bmRlZmluZWQsIHJlc3VsdCkpXG4gICAgICAgICAgICAgICAgLmNhdGNoKGNiKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkYXRhLmxlbmd0aCA/IGRhdGEgOiB1bmRlZmluZWRcbiAgICAgICAgICApO1xuICAgICAgICAgIFRyYW5zYWN0aW9uLnN1Ym1pdCh0cmFuc2FjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWV0aG9kV3JhcHBlciwgXCJuYW1lXCIsIHtcbiAgICAgIHZhbHVlOiBwcm9wZXJ0eUtleSxcbiAgICB9KTtcbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gbWV0aG9kV3JhcHBlcjtcbiAgfTtcbn1cbi8vXG4vLyAvKipcbi8vICAqIEBzdW1tYXJ5IFNldHMgYSBjbGFzcyBBc3luYyBtZXRob2QgYXMgdHJhbnNhY3Rpb25hbFxuLy8gICpcbi8vICAqIEBwYXJhbSB7YW55W119ICBbbWV0YWRhdGFdIG9wdGlvbiBtZXRhZGF0YSBhdmFpbGFibGUgdG8gdGhlIHtAbGluayBUcmFuc2FjdGlvbkxvY2t9XG4vLyAgKlxuLy8gICogQGZ1bmN0aW9uIHRyYW5zYWN0aW9uYWxBc3luY1xuLy8gICpcbi8vICAqIEBtZW1iZXJPZiBtb2R1bGU6ZGItZGVjb3JhdG9ycy5EZWNvcmF0b3JzLnRyYW5zYWN0aW9uc1xuLy8gICovXG4vLyBleHBvcnQgZnVuY3Rpb24gdHJhbnNhY3Rpb25hbEFzeW5jKC4uLm1ldGFkYXRhOiBhbnlbXSkge1xuLy8gICByZXR1cm4gZnVuY3Rpb24gKFxuLy8gICAgIHRhcmdldDogYW55LFxuLy8gICAgIHByb3BlcnR5S2V5OiBzdHJpbmcsXG4vLyAgICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yLFxuLy8gICApIHtcbi8vICAgICBtZXRhZGFzdGEoZ2V0VHJhbnNhY3Rpb25hbEtleShUcmFuc2FjdGlvbmFsS2V5cy5UUkFOU0FDVElPTkFMKSlcbi8vICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKFxuLy8gICAgICAgLFxuLy8gICAgICAge1xuLy8gICAgICAgICB0eXBlOiBcImFzeW5jXCIsXG4vLyAgICAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YS5sZW5ndGggPyBtZXRhZGF0YSA6IHVuZGVmaW5lZCxcbi8vICAgICAgIH0gYXMgVHJhbnNhY3Rpb25hbE1ldGFkYXRhLFxuLy8gICAgICAgdGFyZ2V0LFxuLy8gICAgICAgcHJvcGVydHlLZXksXG4vLyAgICAgKTtcbi8vXG4vLyAgICAgY29uc3Qgb3JpZ2luYWxNZXRob2QgPSBkZXNjcmlwdG9yLnZhbHVlO1xuLy9cbi8vICAgICBjb25zdCBtZXRob2RXcmFwcGVyID0gZnVuY3Rpb24gKHRoaXM6IGFueSwgLi4uYXJnczogYW55W10pIHtcbi8vICAgICAgIGNvbnN0IGNhbGxiYWNrOiBDYWxsYmFjayA9IGFyZ3MucG9wKCk7XG4vLyAgICAgICBpZiAoIWNhbGxiYWNrIHx8IHR5cGVvZiBjYWxsYmFjayAhPT0gXCJmdW5jdGlvblwiKVxuLy8gICAgICAgICB0aHJvdyBuZXcgQ3JpdGljYWxFcnJvcihgTWlzc2luZyBDYWxsYmFja2ApO1xuLy9cbi8vICAgICAgIGNvbnN0IGNiID0gKGVycj86IEVyciwgLi4uYXJnczogYW55W10pID0+IHtcbi8vICAgICAgICAgVHJhbnNhY3Rpb24ucmVsZWFzZShlcnIpLnRoZW4oKF8pID0+IGNhbGxiYWNrKGVyciwgLi4uYXJncykpO1xuLy8gICAgICAgfTtcbi8vXG4vLyAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbi8vXG4vLyAgICAgICBsZXQgdHJhbnNhY3Rpb24gPSBhcmdzLnNoaWZ0KCk7XG4vLyAgICAgICBpZiAodHJhbnNhY3Rpb24gaW5zdGFuY2VvZiBUcmFuc2FjdGlvbikge1xuLy8gICAgICAgICBjb25zdCB1cGRhdGVkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uID0gbmV3IFRyYW5zYWN0aW9uKFxuLy8gICAgICAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbi8vICAgICAgICAgICBwcm9wZXJ0eUtleSxcbi8vICAgICAgICAgICAoKSA9PiB7XG4vLyAgICAgICAgICAgICB0cnkge1xuLy8gICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxNZXRob2QuY2FsbChcbi8vICAgICAgICAgICAgICAgICB1cGRhdGVkVHJhbnNhY3Rpb24uYmluZFRvVHJhbnNhY3Rpb24oc2VsZiksXG4vLyAgICAgICAgICAgICAgICAgLi4uYXJncyxcbi8vICAgICAgICAgICAgICAgICBjYWxsYmFjayxcbi8vICAgICAgICAgICAgICAgKTtcbi8vICAgICAgICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuLy8gICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soZSk7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgICAgfSxcbi8vICAgICAgICAgICBtZXRhZGF0YS5sZW5ndGggPyBtZXRhZGF0YSA6IHVuZGVmaW5lZCxcbi8vICAgICAgICAgKTtcbi8vXG4vLyAgICAgICAgIHRyYW5zYWN0aW9uLmJpbmRUcmFuc2FjdGlvbih1cGRhdGVkVHJhbnNhY3Rpb24pO1xuLy8gICAgICAgICB0cmFuc2FjdGlvbi5maXJlKCk7XG4vLyAgICAgICB9IGVsc2Uge1xuLy8gICAgICAgICBhcmdzLnVuc2hpZnQodHJhbnNhY3Rpb24pO1xuLy8gICAgICAgICB0cmFuc2FjdGlvbiA9IHVuZGVmaW5lZDtcbi8vICAgICAgICAgdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oXG4vLyAgICAgICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuLy8gICAgICAgICAgIHByb3BlcnR5S2V5LFxuLy8gICAgICAgICAgICgpID0+IHtcbi8vICAgICAgICAgICAgIHRyeSB7XG4vLyAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5jYWxsKFxuLy8gICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uLmJpbmRUb1RyYW5zYWN0aW9uKHNlbGYpLFxuLy8gICAgICAgICAgICAgICAgIC4uLmFyZ3MsXG4vLyAgICAgICAgICAgICAgICAgY2IsXG4vLyAgICAgICAgICAgICAgICk7XG4vLyAgICAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbi8vICAgICAgICAgICAgICAgcmV0dXJuIGNiKGUpO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICAgIH0sXG4vLyAgICAgICAgICAgbWV0YWRhdGEubGVuZ3RoID8gbWV0YWRhdGEgOiB1bmRlZmluZWQsXG4vLyAgICAgICAgICk7XG4vLyAgICAgICAgIFRyYW5zYWN0aW9uLnN1Ym1pdCh0cmFuc2FjdGlvbik7XG4vLyAgICAgICB9XG4vLyAgICAgfTtcbi8vXG4vLyAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1ldGhvZFdyYXBwZXIsIFwibmFtZVwiLCB7XG4vLyAgICAgICB2YWx1ZTogcHJvcGVydHlLZXksXG4vLyAgICAgfSk7XG4vLyAgICAgZGVzY3JpcHRvci52YWx1ZSA9IG1ldGhvZFdyYXBwZXI7XG4vLyAgIH07XG4vLyB9XG5cbi8qKlxuICogQHN1bW1hcnkgVXRpbCBmdW5jdGlvbiB0byB3cmFwIHN1cGVyIGNhbGxzIHdpdGggdGhlIHRyYW5zYWN0aW9uIHdoZW4gdGhlIHN1cGVyJ3MgbWV0aG9kIGlzIGFsc28gdHJhbnNhY3Rpb25hbFxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IG1ldGhvZCB0aGUgc3VwZXIgbWV0aG9kIChtdXN0IGJlIGJvdW5kIHRvIHRoZSBwcm9wZXIgdGhpcyksIGVnOiBzdXBlci5jcmVhdGUuYmluZCh0aGlzKVxuICogQHBhcmFtIHthbnlbXX0gYXJncyB0aGUgYXJndW1lbnRzIHRvIGNhbGwgdGhlIG1ldGhvZCB3aXRoXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpkYi1kZWNvcmF0b3JzLlRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2FjdGlvbmFsU3VwZXJDYWxsKG1ldGhvZDogYW55LCAuLi5hcmdzOiBhbnkpIHtcbiAgY29uc3QgbG9jayA9IFRyYW5zYWN0aW9uLmdldExvY2soKTtcbiAgY29uc3QgY3VycmVudFRyYW5zYWN0aW9uID0gbG9jay5jdXJyZW50VHJhbnNhY3Rpb247XG4gIHJldHVybiBtZXRob2QoY3VycmVudFRyYW5zYWN0aW9uLCAuLi5hcmdzKTtcbn1cbiJdfQ==
@@ -21,4 +21,4 @@ export * from "./types";
21
21
  * @const VERSION
22
22
  * @memberOf module:ts-workspace
23
23
  */
24
- export declare const VERSION = "0.0.3";
24
+ export declare const VERSION = "0.0.5";
package/lib/esm/index.js CHANGED
@@ -1 +1,26 @@
1
- export*from"./interfaces";export*from"./locks";export*from"./constants";export*from"./decorators";export*from"./Transaction";export*from"./types";let VERSION="0.0.3";export{VERSION};
1
+ export * from "./interfaces";
2
+ export * from "./locks";
3
+ export * from "./constants";
4
+ export * from "./decorators";
5
+ export * from "./Transaction";
6
+ export * from "./types";
7
+ /**
8
+ * @summary Module summary
9
+ * @description Module description
10
+ * @module ts-workspace
11
+ */
12
+ /**
13
+ * @summary Namespace summary
14
+ * @description Namespace description
15
+ * @namespace Namespace
16
+ * @memberOf module:ts-workspace
17
+ */
18
+ /**
19
+ * @summary stores the current package version
20
+ * @description this is how you should document a constant
21
+ * @const VERSION
22
+ * @memberOf module:ts-workspace
23
+ */
24
+ export const VERSION = "0.0.5";
25
+
26
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFNBQVMsQ0FBQztBQUV4Qjs7OztHQUlHO0FBRUg7Ozs7O0dBS0c7QUFFSDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9pbnRlcmZhY2VzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sb2Nrc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWNvcmF0b3JzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9UcmFuc2FjdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBNb2R1bGUgc3VtbWFyeVxuICogQGRlc2NyaXB0aW9uIE1vZHVsZSBkZXNjcmlwdGlvblxuICogQG1vZHVsZSB0cy13b3Jrc3BhY2VcbiAqL1xuXG4vKipcbiAqIEBzdW1tYXJ5IE5hbWVzcGFjZSBzdW1tYXJ5XG4gKiBAZGVzY3JpcHRpb24gTmFtZXNwYWNlIGRlc2NyaXB0aW9uXG4gKiBAbmFtZXNwYWNlIE5hbWVzcGFjZVxuICogQG1lbWJlck9mIG1vZHVsZTp0cy13b3Jrc3BhY2VcbiAqL1xuXG4vKipcbiAqIEBzdW1tYXJ5IHN0b3JlcyB0aGUgY3VycmVudCBwYWNrYWdlIHZlcnNpb25cbiAqIEBkZXNjcmlwdGlvbiB0aGlzIGlzIGhvdyB5b3Ugc2hvdWxkIGRvY3VtZW50IGEgY29uc3RhbnRcbiAqIEBjb25zdCBWRVJTSU9OXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnRzLXdvcmtzcGFjZVxuICovXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IFwiMC4wLjVcIjtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL1RyYW5zYWN0aW9uTG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6ImludGVyZmFjZXMvVHJhbnNhY3Rpb25Mb2NrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tIFwiLi4vVHJhbnNhY3Rpb25cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBUcmFuc2FjdGlvbiBsb2NrIGludGVyZmFjZVxuICogQGludGVyZmFjZSBUcmFuc2FjdGlvbkxvY2tcbiAqXG4gKiBAY2F0ZWdvcnkgVHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25Mb2NrIHtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IHN0b3JlcyB0aGUgY3VycmVudCB0cmFuc2FjdGlvbnNcbiAgICogQHByb3BlcnR5IGN1cnJlbnRUcmFuc2FjdGlvblxuICAgKi9cbiAgY3VycmVudFRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb247XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBTdWJtaXRzIGEgdHJhbnNhY3Rpb24gdG8gYmUgcHJvY2Vzc2VkXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHRyYW5zYWN0aW9uXG4gICAqIEBtZXRob2RcbiAgICovXG4gIHN1Ym1pdCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZWxlYXNlcyBUaGUgbG9jayBhZnRlciB0aGUgY29uY2x1c2lvbiBvZiBhIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB7RXJyfSBbZXJyXSB0aGUgZXJyb3IgKGlmIGFueSkgdGhhdCBjYXVzZWQgdGhlIHJlbGVhc2VcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgcmVsZWFzZShlcnI/OiBFcnJvcik6IFByb21pc2U8dm9pZD47XG59XG4iXX0=
@@ -1 +1,3 @@
1
- export*from"./TransactionLock";
1
+ export * from "./TransactionLock";
2
+
3
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUMiLCJmaWxlIjoiaW50ZXJmYWNlcy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1RyYW5zYWN0aW9uTG9ja1wiO1xuIl19
@@ -1 +1,63 @@
1
- class Lock{constructor(){this.queue=[],this.locked=!1}async execute(e){await this.acquire();let s;try{s=await Promise.resolve(e())}catch(e){throw this.release(),e}return this.release(),s}async acquire(){let s=this;return s.locked?new Promise(e=>s.queue.push(e)):(s.locked=!0,Promise.resolve())}release(){var e=this.queue.shift();e?void 0===globalThis.window?globalThis.process.nextTick(e):setTimeout(e,0):this.locked=!1}}export{Lock};
1
+ /**
2
+ * @summary Simple Promise based Lock class
3
+ *
4
+ * @class Lock
5
+ * @category Transactions
6
+ */
7
+ export class Lock {
8
+ constructor() {
9
+ this.queue = [];
10
+ this.locked = false;
11
+ }
12
+ /**
13
+ * @summary executes when lock is available
14
+ * @param {Function} func
15
+ */
16
+ async execute(func) {
17
+ await this.acquire();
18
+ let result;
19
+ try {
20
+ result = await Promise.resolve(func());
21
+ }
22
+ catch (e) {
23
+ this.release();
24
+ throw e;
25
+ }
26
+ this.release();
27
+ return result;
28
+ }
29
+ /**
30
+ * @summary waits to acquire the lock
31
+ * @param {string} [issuer]
32
+ */
33
+ async acquire() {
34
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
35
+ const self = this;
36
+ if (self.locked) {
37
+ return new Promise((resolve) => self.queue.push(resolve));
38
+ }
39
+ else {
40
+ self.locked = true;
41
+ return Promise.resolve();
42
+ }
43
+ }
44
+ /**
45
+ * @summary releases the lock
46
+ */
47
+ release() {
48
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
49
+ const self = this;
50
+ const next = self.queue.shift();
51
+ if (next) {
52
+ if (typeof globalThis.window === "undefined")
53
+ globalThis.process.nextTick(next); // if you are on node
54
+ else
55
+ setTimeout(next, 0); // if you are in the browser
56
+ }
57
+ else {
58
+ self.locked = false;
59
+ }
60
+ }
61
+ }
62
+
63
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9sb2Nrcy9Mb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLElBQUk7SUFBakI7UUFDVSxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUMzQixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBbUR6QixDQUFDO0lBakRDOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBZTtRQUMzQixNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixJQUFJLE1BQVcsQ0FBQztRQUNoQixJQUFJLENBQUM7WUFDSCxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1gsNERBQTREO1FBQzVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCw0REFBNEQ7UUFDNUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxHQUE2QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxJQUNFLE9BQVEsVUFBeUMsQ0FBQyxNQUFNLEtBQUssV0FBVztnQkFFeEUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxxQkFBcUI7O2dCQUNyRCxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQztJQUNILENBQUM7Q0FDRiIsImZpbGUiOiJsb2Nrcy9Mb2NrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9ja0NhbGxhYmxlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgU2ltcGxlIFByb21pc2UgYmFzZWQgTG9jayBjbGFzc1xuICpcbiAqIEBjbGFzcyBMb2NrXG4gKiBAY2F0ZWdvcnkgVHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2NrIHtcbiAgcHJpdmF0ZSBxdWV1ZTogTG9ja0NhbGxhYmxlW10gPSBbXTtcbiAgcHJpdmF0ZSBsb2NrZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQHN1bW1hcnkgZXhlY3V0ZXMgd2hlbiBsb2NrIGlzIGF2YWlsYWJsZVxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jXG4gICAqL1xuICBhc3luYyBleGVjdXRlKGZ1bmM6ICgpID0+IGFueSkge1xuICAgIGF3YWl0IHRoaXMuYWNxdWlyZSgpO1xuICAgIGxldCByZXN1bHQ6IGFueTtcbiAgICB0cnkge1xuICAgICAgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZ1bmMoKSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aGlzLnJlbGVhc2UoKTtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIHRoaXMucmVsZWFzZSgpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgd2FpdHMgdG8gYWNxdWlyZSB0aGUgbG9ja1xuICAgKiBAcGFyYW0ge3N0cmluZ30gW2lzc3Vlcl1cbiAgICovXG4gIGFzeW5jIGFjcXVpcmUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgaWYgKHNlbGYubG9ja2VkKSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHNlbGYucXVldWUucHVzaChyZXNvbHZlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlbGYubG9ja2VkID0gdHJ1ZTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgcmVsZWFzZXMgdGhlIGxvY2tcbiAgICovXG4gIHJlbGVhc2UoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgY29uc3QgbmV4dDogTG9ja0NhbGxhYmxlIHwgdW5kZWZpbmVkID0gc2VsZi5xdWV1ZS5zaGlmdCgpO1xuICAgIGlmIChuZXh0KSB7XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiAoZ2xvYmFsVGhpcyBhcyB1bmtub3duIGFzIHsgd2luZG93OiBhbnkgfSkud2luZG93ID09PSBcInVuZGVmaW5lZFwiXG4gICAgICApXG4gICAgICAgIGdsb2JhbFRoaXMucHJvY2Vzcy5uZXh0VGljayhuZXh0KTsgLy8gaWYgeW91IGFyZSBvbiBub2RlXG4gICAgICBlbHNlIHNldFRpbWVvdXQobmV4dCwgMCk7IC8vIGlmIHlvdSBhcmUgaW4gdGhlIGJyb3dzZXJcbiAgICB9IGVsc2Uge1xuICAgICAgc2VsZi5sb2NrZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1 +1,117 @@
1
- import{Lock}from"./Lock";class SyncronousLock{constructor(n=1,e,o){this.currentTransaction=void 0,this.lock=new Lock,this.counter=n,this.pendingTransactions=[],this.onBegin=e,this.onEnd=o}submit(n){let e=this;e.lock.acquire().then(()=>e.currentTransaction&&e.currentTransaction.id===n.id?(e.lock.release(),n.fire()):0<e.counter?(e.counter--,e.lock.release(),e.fireTransaction(n)):(e.pendingTransactions.push(n),void e.lock.release()))}fireTransaction(n){let e=this;e.lock.acquire().then(()=>{e.currentTransaction=n,e.lock.release(),e.onBegin?e.onBegin().then(()=>{n.fire()}):n.fire()})}async release(e){let r=this;return new Promise(o=>{r.lock.acquire().then(()=>{r.currentTransaction||console.warn("Trying to release an unexisting transaction. should never happen..."),r.currentTransaction=void 0,r.lock.release();let n=()=>{r.lock.acquire().then(()=>{if(0<r.pendingTransactions.length){let n=r.pendingTransactions.shift();var e=()=>r.fireTransaction(n);void 0===globalThis.window?globalThis.process.nextTick(e):setTimeout(e,0)}else r.counter++;r.lock.release(),o()})};r.onEnd?r.onEnd(e).then(()=>n()):n()})})}}export{SyncronousLock};
1
+ import { Lock } from "./Lock";
2
+ export class SyncronousLock {
3
+ constructor(counter = 1, onBegin, onEnd) {
4
+ this.currentTransaction = undefined;
5
+ this.lock = new Lock();
6
+ this.counter = counter;
7
+ this.pendingTransactions = [];
8
+ this.onBegin = onBegin;
9
+ this.onEnd = onEnd;
10
+ }
11
+ /**
12
+ * @summary Submits a transaction to be processed
13
+ * @param {Transaction} transaction
14
+ */
15
+ submit(transaction) {
16
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
17
+ const self = this;
18
+ self.lock.acquire().then(() => {
19
+ if (self.currentTransaction &&
20
+ self.currentTransaction.id === transaction.id) {
21
+ self.lock.release();
22
+ return transaction.fire();
23
+ }
24
+ if (self.counter > 0) {
25
+ self.counter--;
26
+ self.lock.release();
27
+ return self.fireTransaction(transaction);
28
+ }
29
+ else {
30
+ self.pendingTransactions.push(transaction);
31
+ self.lock.release();
32
+ }
33
+ });
34
+ }
35
+ /**
36
+ * @summary Executes a transaction
37
+ *
38
+ * @param {Transaction} transaction
39
+ * @private
40
+ */
41
+ fireTransaction(transaction) {
42
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
43
+ const self = this;
44
+ self.lock.acquire().then(() => {
45
+ self.currentTransaction = transaction;
46
+ self.lock.release();
47
+ if (self.onBegin)
48
+ self.onBegin().then(() => {
49
+ // all.call(
50
+ // self,
51
+ // `Firing transaction {0}. {1} remaining...`,
52
+ // transaction.id,
53
+ // this.pendingTransactions.length,
54
+ // );
55
+ transaction.fire();
56
+ });
57
+ else {
58
+ // all.call(
59
+ // self,
60
+ // `Firing transaction {0}. {1} remaining...`,
61
+ // transaction.id,
62
+ // this.pendingTransactions.length,
63
+ // );
64
+ transaction.fire();
65
+ }
66
+ });
67
+ }
68
+ /**
69
+ * @summary Releases The lock after the conclusion of a transaction
70
+ */
71
+ async release(err) {
72
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
73
+ const self = this;
74
+ return new Promise((resolve) => {
75
+ self.lock.acquire().then(() => {
76
+ if (!self.currentTransaction)
77
+ console.warn("Trying to release an unexisting transaction. should never happen...");
78
+ // debug.call(
79
+ // self,
80
+ // "Releasing transaction: {0}",
81
+ // self.currentTransaction?.toString(true, true),
82
+ // );
83
+ self.currentTransaction = undefined;
84
+ self.lock.release();
85
+ const afterConclusionCB = () => {
86
+ self.lock.acquire().then(() => {
87
+ if (self.pendingTransactions.length > 0) {
88
+ const transaction = self.pendingTransactions.shift();
89
+ const cb = () => self.fireTransaction(transaction);
90
+ //
91
+ // all(
92
+ // `Releasing Transaction Lock on transaction {0}`,
93
+ // transaction.id,
94
+ // );
95
+ if (typeof globalThis.window ===
96
+ "undefined")
97
+ globalThis.process.nextTick(cb); // if you are on node
98
+ else
99
+ setTimeout(cb, 0); // if you are in the browser
100
+ }
101
+ else {
102
+ self.counter++;
103
+ }
104
+ self.lock.release();
105
+ resolve();
106
+ });
107
+ };
108
+ if (self.onEnd)
109
+ self.onEnd(err).then(() => afterConclusionCB());
110
+ else
111
+ afterConclusionCB();
112
+ });
113
+ });
114
+ }
115
+ }
116
+
117
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9sb2Nrcy9TeW5jcm9ub3VzTG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFlQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sT0FBTyxjQUFjO0lBU3pCLFlBQ0UsVUFBa0IsQ0FBQyxFQUNuQixPQUE2QixFQUM3QixLQUFzQztRQVR4Qyx1QkFBa0IsR0FBaUIsU0FBUyxDQUFDO1FBSTVCLFNBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBT2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxXQUF3QjtRQUM3Qiw0REFBNEQ7UUFDNUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM1QixJQUNFLElBQUksQ0FBQyxrQkFBa0I7Z0JBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsRUFDN0MsQ0FBQztnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNwQixPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNDLENB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LENBQUM7Z0JBQ0wsQ0FBQyxDQUFDO2dCQUVGLElBQUksSUFBSSxDQUFDLEtBQUs7b0JBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDOztvQkFDM0QsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwiZmlsZSI6ImxvY2tzL1N5bmNyb25vdXNMb2NrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc3VtbWFyeSBTaW1wbGUgU3luY2hyb25vdXMgTG9jayBpbXBsZW1lbnRhdGlvblxuICogQGRlc2NyaXB0aW9uIGZvciB0cmFuc2FjdGlvbiBtYW5hZ2VtZW50XG4gKiBhZGFwdGVkIGZyb20ge0BsaW5rIGh0dHBzOi8vd3d3LnRhbGtpbmdoaWdodGVjaC5jb20vZW4vY3JlYXRpbmctYS1qcy1sb2NrLWZvci1hLXJlc291cmNlL31cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gW2NvdW50ZXJdIHRoZSBudW1iZXIgb2Ygc2ltdWx0YW5lb3VzIHRyYW5zYWN0aW9ucyBhbGxvd2VkLiBkZWZhdWx0cyB0byAxXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbb25CZWdpbl0gdG8gYmUgY2FsbGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgdHJhbnNhY3Rpb25cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtvbkVuZF0gdG8gYmUgY2FsbGVkIGF0IHRoZSBjb25jbHVzaW9uIG9mIHRoZSB0cmFuc2FjdGlvblxuICpcbiAqIEBjbGFzcyBTeW5jcm9ub3VzTG9ja1xuICogQGltcGxlbWVudHMgVHJhbnNhY3Rpb25Mb2NrXG4gKlxuICogQGNhdGVnb3J5IFRyYW5zYWN0aW9uc1xuICovIGltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSBcIi4uL1RyYW5zYWN0aW9uXCI7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkxvY2sgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9UcmFuc2FjdGlvbkxvY2tcIjtcbmltcG9ydCB7IExvY2sgfSBmcm9tIFwiLi9Mb2NrXCI7XG5cbmV4cG9ydCBjbGFzcyBTeW5jcm9ub3VzTG9jayBpbXBsZW1lbnRzIFRyYW5zYWN0aW9uTG9jayB7XG4gIHByaXZhdGUgY291bnRlcjogbnVtYmVyO1xuICBwcml2YXRlIHBlbmRpbmdUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW107XG4gIGN1cnJlbnRUcmFuc2FjdGlvbj86IFRyYW5zYWN0aW9uID0gdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IG9uQmVnaW4/OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IG9uRW5kPzogKGVycj86IEVycm9yKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jayA9IG5ldyBMb2NrKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY291bnRlcjogbnVtYmVyID0gMSxcbiAgICBvbkJlZ2luPzogKCkgPT4gUHJvbWlzZTx2b2lkPixcbiAgICBvbkVuZD86IChlcnI/OiBFcnJvcikgPT4gUHJvbWlzZTx2b2lkPixcbiAgKSB7XG4gICAgdGhpcy5jb3VudGVyID0gY291bnRlcjtcbiAgICB0aGlzLnBlbmRpbmdUcmFuc2FjdGlvbnMgPSBbXTtcbiAgICB0aGlzLm9uQmVnaW4gPSBvbkJlZ2luO1xuICAgIHRoaXMub25FbmQgPSBvbkVuZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBTdWJtaXRzIGEgdHJhbnNhY3Rpb24gdG8gYmUgcHJvY2Vzc2VkXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHRyYW5zYWN0aW9uXG4gICAqL1xuICBzdWJtaXQodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgc2VsZi5sb2NrLmFjcXVpcmUoKS50aGVuKCgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgc2VsZi5jdXJyZW50VHJhbnNhY3Rpb24gJiZcbiAgICAgICAgc2VsZi5jdXJyZW50VHJhbnNhY3Rpb24uaWQgPT09IHRyYW5zYWN0aW9uLmlkXG4gICAgICApIHtcbiAgICAgICAgc2VsZi5sb2NrLnJlbGVhc2UoKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmZpcmUoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGYuY291bnRlciA+IDApIHtcbiAgICAgICAgc2VsZi5jb3VudGVyLS07XG4gICAgICAgIHNlbGYubG9jay5yZWxlYXNlKCk7XG4gICAgICAgIHJldHVybiBzZWxmLmZpcmVUcmFuc2FjdGlvbih0cmFuc2FjdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWxmLnBlbmRpbmdUcmFuc2FjdGlvbnMucHVzaCh0cmFuc2FjdGlvbik7XG4gICAgICAgIHNlbGYubG9jay5yZWxlYXNlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgRXhlY3V0ZXMgYSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0ge1RyYW5zYWN0aW9ufSB0cmFuc2FjdGlvblxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBmaXJlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgc2VsZi5sb2NrLmFjcXVpcmUoKS50aGVuKCgpID0+IHtcbiAgICAgIHNlbGYuY3VycmVudFRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247XG4gICAgICBzZWxmLmxvY2sucmVsZWFzZSgpO1xuICAgICAgaWYgKHNlbGYub25CZWdpbilcbiAgICAgICAgc2VsZi5vbkJlZ2luKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgLy8gYWxsLmNhbGwoXG4gICAgICAgICAgLy8gICBzZWxmLFxuICAgICAgICAgIC8vICAgYEZpcmluZyB0cmFuc2FjdGlvbiB7MH0uIHsxfSByZW1haW5pbmcuLi5gLFxuICAgICAgICAgIC8vICAgdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgICAgLy8gICB0aGlzLnBlbmRpbmdUcmFuc2FjdGlvbnMubGVuZ3RoLFxuICAgICAgICAgIC8vICk7XG4gICAgICAgICAgdHJhbnNhY3Rpb24uZmlyZSgpO1xuICAgICAgICB9KTtcbiAgICAgIGVsc2Uge1xuICAgICAgICAvLyBhbGwuY2FsbChcbiAgICAgICAgLy8gICBzZWxmLFxuICAgICAgICAvLyAgIGBGaXJpbmcgdHJhbnNhY3Rpb24gezB9LiB7MX0gcmVtYWluaW5nLi4uYCxcbiAgICAgICAgLy8gICB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgLy8gICB0aGlzLnBlbmRpbmdUcmFuc2FjdGlvbnMubGVuZ3RoLFxuICAgICAgICAvLyApO1xuICAgICAgICB0cmFuc2FjdGlvbi5maXJlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJlbGVhc2VzIFRoZSBsb2NrIGFmdGVyIHRoZSBjb25jbHVzaW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAgICovXG4gIGFzeW5jIHJlbGVhc2UoZXJyPzogRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgIHNlbGYubG9jay5hY3F1aXJlKCkudGhlbigoKSA9PiB7XG4gICAgICAgIGlmICghc2VsZi5jdXJyZW50VHJhbnNhY3Rpb24pXG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgXCJUcnlpbmcgdG8gcmVsZWFzZSBhbiB1bmV4aXN0aW5nIHRyYW5zYWN0aW9uLiBzaG91bGQgbmV2ZXIgaGFwcGVuLi4uXCIsXG4gICAgICAgICAgKTtcbiAgICAgICAgLy8gZGVidWcuY2FsbChcbiAgICAgICAgLy8gICBzZWxmLFxuICAgICAgICAvLyAgIFwiUmVsZWFzaW5nIHRyYW5zYWN0aW9uOiB7MH1cIixcbiAgICAgICAgLy8gICBzZWxmLmN1cnJlbnRUcmFuc2FjdGlvbj8udG9TdHJpbmcodHJ1ZSwgdHJ1ZSksXG4gICAgICAgIC8vICk7XG4gICAgICAgIHNlbGYuY3VycmVudFRyYW5zYWN0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICBzZWxmLmxvY2sucmVsZWFzZSgpO1xuXG4gICAgICAgIGNvbnN0IGFmdGVyQ29uY2x1c2lvbkNCID0gKCkgPT4ge1xuICAgICAgICAgIHNlbGYubG9jay5hY3F1aXJlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoc2VsZi5wZW5kaW5nVHJhbnNhY3Rpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPVxuICAgICAgICAgICAgICAgIHNlbGYucGVuZGluZ1RyYW5zYWN0aW9ucy5zaGlmdCgpIGFzIFRyYW5zYWN0aW9uO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGNiID0gKCkgPT4gc2VsZi5maXJlVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pO1xuICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAvLyBhbGwoXG4gICAgICAgICAgICAgIC8vICAgYFJlbGVhc2luZyBUcmFuc2FjdGlvbiBMb2NrIG9uIHRyYW5zYWN0aW9uIHswfWAsXG4gICAgICAgICAgICAgIC8vICAgdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgICAgICAgIC8vICk7XG5cbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIHR5cGVvZiAoZ2xvYmFsVGhpcyBhcyB1bmtub3duIGFzIHsgd2luZG93OiBhbnkgfSkud2luZG93ID09PVxuICAgICAgICAgICAgICAgIFwidW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIGdsb2JhbFRoaXMucHJvY2Vzcy5uZXh0VGljayhjYik7IC8vIGlmIHlvdSBhcmUgb24gbm9kZVxuICAgICAgICAgICAgICBlbHNlIHNldFRpbWVvdXQoY2IsIDApOyAvLyBpZiB5b3UgYXJlIGluIHRoZSBicm93c2VyXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZWxmLmNvdW50ZXIrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGYubG9jay5yZWxlYXNlKCk7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHNlbGYub25FbmQpIHNlbGYub25FbmQoZXJyKS50aGVuKCgpID0+IGFmdGVyQ29uY2x1c2lvbkNCKCkpO1xuICAgICAgICBlbHNlIGFmdGVyQ29uY2x1c2lvbkNCKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1 +1,4 @@
1
- export*from"./Lock";export*from"./SyncronousLock";
1
+ export * from "./Lock";
2
+ export * from "./SyncronousLock";
3
+
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9sb2Nrcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGtCQUFrQixDQUFDIiwiZmlsZSI6ImxvY2tzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vTG9ja1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vU3luY3Jvbm91c0xvY2tcIjtcbiJdfQ==
package/lib/esm/types.js CHANGED
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6InR5cGVzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAc3VtbWFyeSBkZWZpbmVzIGEgY2FsbGFibGUgYXMgcGVyY2VpdmVkIGJ5IHRoZSBsb2NrXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTpkYi1kZWNvcmF0b3JzLlRyYW5zYWN0aW9uc1xuICovXG5leHBvcnQgdHlwZSBMb2NrQ2FsbGFibGUgPSAodmFsdWU/OiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4pID0+IHZvaWQ7XG5cbmV4cG9ydCB0eXBlIENhbGxiYWNrID0gKGVycj86IEVycm9yLCByZXN1bHQ/OiBhbnksIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xuIl19
package/lib/esm/utils.js CHANGED
@@ -1 +1,15 @@
1
- function getObjectName(t){if(t)return"string"==typeof t?t:t.constructor&&t.constructor.name&&-1===["Function","Object"].indexOf(t.constructor.name)?t.constructor.name:"function"==typeof t&&t.name?t.name:t.toString()}export{getObjectName};
1
+ export function getObjectName(obj) {
2
+ if (!obj)
3
+ return;
4
+ if (typeof obj === "string")
5
+ return obj;
6
+ if (obj.constructor &&
7
+ obj.constructor.name &&
8
+ ["Function", "Object"].indexOf(obj.constructor.name) === -1)
9
+ return obj.constructor.name;
10
+ if (typeof obj === "function" && obj.name)
11
+ return obj.name;
12
+ return obj.toString();
13
+ }
14
+
15
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVE7SUFDcEMsSUFBSSxDQUFDLEdBQUc7UUFBRSxPQUFPO0lBQ2pCLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUTtRQUFFLE9BQU8sR0FBRyxDQUFDO0lBQ3hDLElBQ0UsR0FBRyxDQUFDLFdBQVc7UUFDZixHQUFHLENBQUMsV0FBVyxDQUFDLElBQUk7UUFDcEIsQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNELE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFDOUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxVQUFVLElBQUksR0FBRyxDQUFDLElBQUk7UUFBRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDM0QsT0FBTyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDeEIsQ0FBQyIsImZpbGUiOiJ1dGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRPYmplY3ROYW1lKG9iajogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFvYmopIHJldHVybjtcbiAgaWYgKHR5cGVvZiBvYmogPT09IFwic3RyaW5nXCIpIHJldHVybiBvYmo7XG4gIGlmIChcbiAgICBvYmouY29uc3RydWN0b3IgJiZcbiAgICBvYmouY29uc3RydWN0b3IubmFtZSAmJlxuICAgIFtcIkZ1bmN0aW9uXCIsIFwiT2JqZWN0XCJdLmluZGV4T2Yob2JqLmNvbnN0cnVjdG9yLm5hbWUpID09PSAtMVxuICApXG4gICAgcmV0dXJuIG9iai5jb25zdHJ1Y3Rvci5uYW1lO1xuICBpZiAodHlwZW9mIG9iaiA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5uYW1lKSByZXR1cm4gb2JqLm5hbWU7XG4gIHJldHVybiBvYmoudG9TdHJpbmcoKTtcbn1cbiJdfQ==
package/lib/index.cjs CHANGED
@@ -1 +1,43 @@
1
- var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var i=Object.getOwnPropertyDescriptor(r,t);i&&("get"in i?r.__esModule:!i.writable&&!i.configurable)||(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,i)}:function(e,r,t,o){e[o=void 0===o?t:o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.VERSION=void 0,__exportStar(require("./interfaces/index.cjs"),exports),__exportStar(require("./locks/index.cjs"),exports),__exportStar(require("./constants.cjs"),exports),__exportStar(require("./decorators.cjs"),exports),__exportStar(require("./Transaction.cjs"),exports),__exportStar(require("./types.cjs"),exports),exports.VERSION="0.0.3";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.VERSION = void 0;
18
+ __exportStar(require("./interfaces/index.cjs"), exports);
19
+ __exportStar(require("./locks/index.cjs"), exports);
20
+ __exportStar(require("./constants.cjs"), exports);
21
+ __exportStar(require("./decorators.cjs"), exports);
22
+ __exportStar(require("./Transaction.cjs"), exports);
23
+ __exportStar(require("./types.cjs"), exports);
24
+ /**
25
+ * @summary Module summary
26
+ * @description Module description
27
+ * @module ts-workspace
28
+ */
29
+ /**
30
+ * @summary Namespace summary
31
+ * @description Namespace description
32
+ * @namespace Namespace
33
+ * @memberOf module:ts-workspace
34
+ */
35
+ /**
36
+ * @summary stores the current package version
37
+ * @description this is how you should document a constant
38
+ * @const VERSION
39
+ * @memberOf module:ts-workspace
40
+ */
41
+ exports.VERSION = "0.0.5";
42
+
43
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3QiwwQ0FBd0I7QUFDeEIsOENBQTRCO0FBQzVCLCtDQUE2QjtBQUM3QixnREFBOEI7QUFDOUIsMENBQXdCO0FBRXhCOzs7O0dBSUc7QUFFSDs7Ozs7R0FLRztBQUVIOzs7OztHQUtHO0FBQ1UsUUFBQSxPQUFPLEdBQUcsT0FBTyxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vbG9ja3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnN0YW50c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVjb3JhdG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vVHJhbnNhY3Rpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgTW9kdWxlIHN1bW1hcnlcbiAqIEBkZXNjcmlwdGlvbiBNb2R1bGUgZGVzY3JpcHRpb25cbiAqIEBtb2R1bGUgdHMtd29ya3NwYWNlXG4gKi9cblxuLyoqXG4gKiBAc3VtbWFyeSBOYW1lc3BhY2Ugc3VtbWFyeVxuICogQGRlc2NyaXB0aW9uIE5hbWVzcGFjZSBkZXNjcmlwdGlvblxuICogQG5hbWVzcGFjZSBOYW1lc3BhY2VcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dHMtd29ya3NwYWNlXG4gKi9cblxuLyoqXG4gKiBAc3VtbWFyeSBzdG9yZXMgdGhlIGN1cnJlbnQgcGFja2FnZSB2ZXJzaW9uXG4gKiBAZGVzY3JpcHRpb24gdGhpcyBpcyBob3cgeW91IHNob3VsZCBkb2N1bWVudCBhIGNvbnN0YW50XG4gKiBAY29uc3QgVkVSU0lPTlxuICogQG1lbWJlck9mIG1vZHVsZTp0cy13b3Jrc3BhY2VcbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBcIjAuMC41XCI7XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -21,4 +21,4 @@ export * from "./types";
21
21
  * @const VERSION
22
22
  * @memberOf module:ts-workspace
23
23
  */
24
- export declare const VERSION = "0.0.3";
24
+ export declare const VERSION = "0.0.5";
@@ -1 +1,4 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0});
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+
4
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL1RyYW5zYWN0aW9uTG9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwiZmlsZSI6ImludGVyZmFjZXMvVHJhbnNhY3Rpb25Mb2NrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tIFwiLi4vVHJhbnNhY3Rpb25cIjtcblxuLyoqXG4gKiBAc3VtbWFyeSBUcmFuc2FjdGlvbiBsb2NrIGludGVyZmFjZVxuICogQGludGVyZmFjZSBUcmFuc2FjdGlvbkxvY2tcbiAqXG4gKiBAY2F0ZWdvcnkgVHJhbnNhY3Rpb25zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25Mb2NrIHtcbiAgLyoqXG4gICAqIEBzdW1tYXJ5IHN0b3JlcyB0aGUgY3VycmVudCB0cmFuc2FjdGlvbnNcbiAgICogQHByb3BlcnR5IGN1cnJlbnRUcmFuc2FjdGlvblxuICAgKi9cbiAgY3VycmVudFRyYW5zYWN0aW9uPzogVHJhbnNhY3Rpb247XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBTdWJtaXRzIGEgdHJhbnNhY3Rpb24gdG8gYmUgcHJvY2Vzc2VkXG4gICAqIEBwYXJhbSB7VHJhbnNhY3Rpb259IHRyYW5zYWN0aW9uXG4gICAqIEBtZXRob2RcbiAgICovXG4gIHN1Ym1pdCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZWxlYXNlcyBUaGUgbG9jayBhZnRlciB0aGUgY29uY2x1c2lvbiBvZiBhIHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSB7RXJyfSBbZXJyXSB0aGUgZXJyb3IgKGlmIGFueSkgdGhhdCBjYXVzZWQgdGhlIHJlbGVhc2VcbiAgICogQG1ldGhvZFxuICAgKi9cbiAgcmVsZWFzZShlcnI/OiBFcnJvcik6IFByb21pc2U8dm9pZD47XG59XG4iXX0=
@@ -1 +1,19 @@
1
- var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&("get"in n?t.__esModule:!n.writable&&!n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){e[i=void 0===i?r:i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./TransactionLock.cjs"),exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./TransactionLock.cjs"), exports);
18
+
19
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0MiLCJmaWxlIjoiaW50ZXJmYWNlcy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1RyYW5zYWN0aW9uTG9ja1wiO1xuIl19