@decaf-ts/transactional-decorators 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/transactional-decorators.cjs +1 -1
- package/dist/transactional-decorators.cjs.map +1 -1
- package/dist/transactional-decorators.js +1 -1
- package/dist/transactional-decorators.js.map +1 -1
- package/lib/cjs/index.cjs +16 -2
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/esm/index.js +15 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/types/index.d.cts +15 -1
- package/lib/types/index.d.mts +15 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t,e,i,s){"use strict";class a{constructor(){this.queue=[],this.locked=!1}async execute(t,...e){let i;await this.acquire();try{i=await Promise.resolve(t())}catch(t){throw this.release(),t}return this.release(),i}async acquire(...t){const e=this;return e.locked?new Promise(t=>e.queue.push(t)):(e.locked=!0,Promise.resolve())}release(...t){const e=this.queue.shift();e?void 0===globalThis.window?globalThis.process.nextTick(e):setTimeout(e,0):this.locked=!1}}const n={TRANSACTIONAL:"transactional"};e.Metadata.transactionals=t=>{const i=e.Metadata.get(t,n.TRANSACTIONAL);return i?Object.keys(i):[]},e.Metadata.isTransactional=t=>!!e.Metadata.get(t,n.TRANSACTIONAL);class o extends i.InternalError{constructor(t="Transaction timed out"){super(t,o.name,500)}}const r=new WeakMap;class c extends s.LoggedClass{static{this.debug=!1}static{this.globalTimeout=-1}static{this.metadataCache=new WeakMap}static{this.log=new Proxy(s.Logging.for(c),{get:(t,e,i)=>"log"!==e||c.debug?Reflect.get(t,e,i):(...t)=>{}})}get log(){return this._log||(this._log=c.log),this._log}static{this.contexts=new WeakMap}constructor(t,e,i,s){super(),this.initialFireDispatched=!1,this.released=!1,this.id=Date.now(),this.action=i,this.method=e,this.logs=[[this.id,t,e].join(" | ")],this.source=t,this.metadata=s,this.completion=new Promise((t,e)=>{this.resolveCompletion=t,this.rejectCompletion=e})}static async push(t,e,...i){const s=this.log.for(this.push),a=c.describeTarget(t),n=c.describeTarget(e),o=new c(a,n,async()=>{const a=s.for(o.id.toString());try{a.verbose("Executing transaction method "+n),a.debug("With arguments: "+JSON.stringify(i));const s=await Promise.resolve(e.call(o.bindToTransaction(t),...i));return a.verbose(`Transaction method ${n} executed successfully`),a.debug("Result: "+JSON.stringify(s)),await o.release(),a.debug("lock released"),s}catch(t){throw await o.release(t),t}});return s.debug(`Pushing transaction ${o.id} for method ${n} on issuer ${a}`),c.submit(o)}static async run(t,e,i){const s="function"!=typeof t,a=s?t:void 0,n=s?e:t;if("function"!=typeof n)throw Error("Transaction.run requires an async function");const o=s?i:e,r=Array.isArray(o)&&o.length?o:void 0,l=a?c.describeTarget(a):c.describeTarget(n),h=c.describeTarget(n);let d;return d=new c(l,h,async()=>{let t;try{const t=a?d.bindToTransaction(a):void 0;return await n.call(t??d)}catch(e){throw t=e,e}finally{await d.release(t instanceof Error?t:void 0)}},r),c.submit(d)}static setLock(t){this.lock=t}static getLock(){return this.lock||(this.lock=new l),this.lock}static submit(t){return c.getLock().submit(t)}static async release(t){return c.getLock().release(t)}async release(t){this.released||(this.released=!0,await c.release(t))}getMetadata(){return this.metadata?[...this.metadata]:void 0}static getTransactionalMetadata(t){let s=this.metadataCache.get(t);if(s)return s;const a=new Set(["__transactionProxy","__transactionTarget","string"==typeof i.DBKeys.ORIGINAL?i.DBKeys.ORIGINAL:"__originalObj"]),n=e.Metadata.transactionals(t)??[],o=(e.Metadata.properties(t)||[]).filter(t=>!a.has(t)),r=new Map;return o.forEach(i=>{const s=e.Metadata.type(t,i);r.set(i,!!s&&e.Metadata.isTransactional(s))}),s={methods:n,propertyKeys:o,propertyDesignTypes:r},this.metadataCache.set(t,s),s}bindTransaction(t){this.log.for(this.bindTransaction).verbose(`Binding the ${t.toString()} to ${this}`),this.logs.push(...t.logs),t.bindTransaction=this.bindToTransaction.bind(this),t.bindToTransaction=this.bindToTransaction.bind(this),this.action=t.action}bindToTransaction(t){const a=this.log.for(this.bindToTransaction);a.verbose(`Binding object ${s.getObjectName(t)} to transaction ${this.id}`);const n=c.getTransactionalMetadata(t.constructor),o=n.methods;if(!o.length)return t;const r=this,l=new Set(["__transactionProxy","__transactionTarget","string"==typeof i.DBKeys.ORIGINAL?i.DBKeys.ORIGINAL:"__originalObj"]),h=new Set(n.propertyKeys);Object.getOwnPropertyNames(t).forEach(t=>{l.has(t)||h.add(t)});const d=Array.from(h).filter(i=>{if(n.propertyDesignTypes.get(i))return!0;const s=t[i];return!(!s||"object"!=typeof s&&"function"!=typeof s||!e.Metadata.isTransactional(s.constructor))});a.debug(`found transaction methods: ${o.join(", ")} and properties: ${d.join(", ")}`);const u=new Proxy(t,{get:(t,e,i)=>o.includes(e)?new Proxy(t[e],{apply:(t,e,i)=>Reflect.apply(t,e,[r,...i])}):d.includes(e)?r.bindToTransaction(t[e]):Reflect.get(t,e,i)});return u[i.DBKeys.ORIGINAL]=t[i.DBKeys.ORIGINAL]||t,u.toString=()=>s.getObjectName(u[i.DBKeys.ORIGINAL])+" proxy for transaction "+this.id,u.__transactionProxy=!0,u.__transactionTarget=t.__transactionTarget||t,c.contexts.set(u,r),u}applyGlobalTimeout(t){if(0>=c.globalTimeout)return t;const e=c.globalTimeout,i=this.log.for(this.applyGlobalTimeout);return new Promise((s,a)=>{let n=!1;const r=setTimeout(()=>{if(n)return;const t=new o(`Transaction ${this.toString()} exceeded timeout of ${e}ms`);i.warn(t.message),this.release(t).catch(t=>i.error(t)),a(t)},e);t.then(t=>{n=!0,clearTimeout(r),s(t)}).catch(t=>{n=!0,clearTimeout(r),a(t)})})}fire(){if(!this.action)throw Error("Missing the method");const t=(async()=>this.action?await this.action():void 0)(),e=c.globalTimeout>0?this.applyGlobalTimeout(t):t;return this.initialFireDispatched||(this.initialFireDispatched=!0,e.then(t=>(this.resolveCompletion?.(t),t)).catch(t=>{throw this.rejectCompletion?.(t),t})),e}toString(t=!0,e=!1){return`${t?`[${this.id}]`:""}[Transaction][${this.source}.${this.method}${e?"]\nTransaction Log:\n"+this.logs.join("\n"):"]"}`}static contextTransaction(t){if(t&&t.__transactionProxy)return this.contexts.get(t)}wait(){return this.completion}static describeTarget(t){if(null===t||"object"!=typeof t&&"function"!=typeof t)return s.getObjectName(t);const e=t;let i=r.get(e);return i||(i=s.getObjectName(t),r.set(e,i)),i}}class l extends s.LoggedClass{get log(){return this._log||(this._log=c.log.for(this)),this._log}logger(t){return this.loggerCache.has(t)||this.loggerCache.set(t,this.log.for(this[t])),this.loggerCache.get(t)}constructor(t=1,e,i){super(),this.counter=t,this.onBegin=e,this.onEnd=i,this.pendingTransactions=[],this.currentTransaction=void 0,this.loggerCache=new Map,this.lock=new a}async submit(t){const e=this.logger("submit");if(await this.lock.acquire(),e.silly("Lock acquired to submit transaction "+t.id),this.currentTransaction&&this.currentTransaction.id===t.id)return this.lock.release(),e.silly("Released lock for re-entrant transaction "+t.id),t.fire();let i;return this.counter>0?(this.counter--,this.lock.release(),e.silly("Released lock for transaction "+t.id),i=this.fireTransaction(t)):(e.debug(`Pushing transaction ${t.id} to the queue`),this.pendingTransactions.push(t),i=t.wait(),this.lock.release(),e.silly("Released lock after queuing transaction "+t.id)),i}async fireTransaction(t){const e=this.logger("fireTransaction");return await this.lock.acquire(),e.silly("Lock acquired obtain transaction "+t.id),this.currentTransaction=t,this.lock.release(),e.silly("Released lock after obtaining "+t.id),this.onBegin&&(e.verbose("Calling onBegin for transaction "+t.id),await this.onBegin()),e.info(`Starting transaction ${t.id}. ${this.pendingTransactions.length} remaining...`),t.fire()}async release(t){const e=this.logger("release");await this.lock.acquire(),this.currentTransaction||e.warn("Trying to release an unexisting transaction. should never happen..."),e.verbose("Releasing transaction "+this.currentTransaction?.toString(!0,!0));const i=this.currentTransaction?.id;if(this.currentTransaction=void 0,this.lock.release(),e.silly("Released lock after clearing transaction "+i),this.onEnd&&(e.verbose("Calling onEnd for transaction "+i),await this.onEnd(t)),await this.lock.acquire(),e.silly(`Acquired lock after completing transaction ${i} for pending transaction verification`),this.pendingTransactions.length>0){const t=this.pendingTransactions.shift(),i=()=>this.fireTransaction.call(this,t).catch(t=>{this.log.for(this.fireTransaction).error(t)});e.silly(`Marking ${t.id} for execution`),s.isBrowser()?setTimeout(i,0):globalThis.process.nextTick(i)}else e.debug("No pending transactions. Incrementing counter."),this.counter++;this.lock.release(),e.silly("Released lock after completing transaction "+i)}}const h="##VERSION##",d="##PACKAGE##";e.Metadata.registerLibrary(d,h),t.Lock=a,t.MultiLock=class extends a{constructor(){super(),this.locks={},this.lock=new a}async lockFor(t){return await this.lock.acquire(),this.locks[t]||(this.locks[t]=new a),this.lock.release(),this.locks[t]}async execute(t,e,...i){return(await this.lockFor(e)).execute(t,...i)}async acquire(t,...e){return(await this.lockFor(t)).acquire(...e)}release(t,...e){if(!(t in this.locks))throw Error("Trying to release a non existing lock. should be impossible");return this.locks[t].release(...e)}},t.PACKAGE_NAME=d,t.SynchronousLock=l,t.TimeoutError=o,t.Transaction=c,t.TransactionalKeys=n,t.VERSION=h,t.transactional=(...t)=>e.Decoration.for(n.TRANSACTIONAL).define({decorator:(...t)=>(s,a,o)=>{if(!o)throw new i.InternalError("This decorator only applies to methods");return e.method()(s,a,o),e.Metadata.set(s.constructor,e.Metadata.key(n.TRANSACTIONAL,a),{data:t}),o.value=new Proxy(o.value,{apply:async(e,i,n)=>new Promise((o,r)=>{async function l(t,e,i){return!e||e instanceof Error||i||(i=e,e=void 0),await t.release(e),e?r(e):o(i)}const h=n[0],d=(()=>{let t=0;for(;t<n.length&&n[t]instanceof c;)t++;return t})(),u=d>0?n.slice(d):n,g=h instanceof c?h:c.contextTransaction(i);if(g){const n=new c(s.name,a,async()=>{try{return o(await Reflect.apply(e,n.bindToTransaction(i),u))}catch(t){return r(t)}},t.length?t:void 0);g.bindTransaction(n),g.fire()}else{const n=new c(s.name,a,async()=>{try{return l(n,void 0,await Reflect.apply(e,n.bindToTransaction(i),u))}catch(t){return l(n,t)}},t.length?t:void 0);c.submit(n)}})}),o},args:t}).apply()},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/db-decorators","@decaf-ts/logging"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["transactional-decorators"]={},t.decafTsDecoration,t.decafTsDbDecorators,t.decafTsLogging);
|
|
1
|
+
var t,e;t=this,e=function(t,e,i,s){"use strict";class a{constructor(){this.queue=[],this.locked=!1}async execute(t,...e){let i;await this.acquire();try{i=await Promise.resolve(t())}catch(t){throw this.release(),t}return this.release(),i}async acquire(...t){const e=this;return e.locked?new Promise(t=>e.queue.push(t)):(e.locked=!0,Promise.resolve())}release(...t){const e=this.queue.shift();e?void 0===globalThis.window?globalThis.process.nextTick(e):setTimeout(e,0):this.locked=!1}}const n={TRANSACTIONAL:"transactional"};e.Metadata.transactionals=t=>{const i=e.Metadata.get(t,n.TRANSACTIONAL);return i?Object.keys(i):[]},e.Metadata.isTransactional=t=>!!e.Metadata.get(t,n.TRANSACTIONAL);class o extends i.InternalError{constructor(t="Transaction timed out"){super(t,o.name,500)}}const r=new WeakMap;class c extends s.LoggedClass{static{this.debug=!1}static{this.globalTimeout=-1}static{this.metadataCache=new WeakMap}static{this.log=new Proxy(s.Logging.for(c),{get:(t,e,i)=>"log"!==e||c.debug?Reflect.get(t,e,i):(...t)=>{}})}get log(){return this._log||(this._log=c.log),this._log}static{this.contexts=new WeakMap}constructor(t,e,i,s){super(),this.initialFireDispatched=!1,this.released=!1,this.id=Date.now(),this.action=i,this.method=e,this.logs=[[this.id,t,e].join(" | ")],this.source=t,this.metadata=s,this.completion=new Promise((t,e)=>{this.resolveCompletion=t,this.rejectCompletion=e})}static async push(t,e,...i){const s=this.log.for(this.push),a=c.describeTarget(t),n=c.describeTarget(e),o=new c(a,n,async()=>{const a=s.for(o.id.toString());try{a.verbose("Executing transaction method "+n),a.debug("With arguments: "+JSON.stringify(i));const s=await Promise.resolve(e.call(o.bindToTransaction(t),...i));return a.verbose(`Transaction method ${n} executed successfully`),a.debug("Result: "+JSON.stringify(s)),await o.release(),a.debug("lock released"),s}catch(t){throw await o.release(t),t}});return s.debug(`Pushing transaction ${o.id} for method ${n} on issuer ${a}`),c.submit(o)}static async run(t,e,i){const s="function"!=typeof t,a=s?t:void 0,n=s?e:t;if("function"!=typeof n)throw Error("Transaction.run requires an async function");const o=s?i:e,r=Array.isArray(o)&&o.length?o:void 0,l=a?c.describeTarget(a):c.describeTarget(n),h=c.describeTarget(n);let d;return d=new c(l,h,async()=>{let t;try{const t=a?d.bindToTransaction(a):void 0;return await n.call(t??d)}catch(e){throw t=e,e}finally{await d.release(t instanceof Error?t:void 0)}},r),c.submit(d)}static setLock(t){this.lock=t}static getLock(){return this.lock||(this.lock=new l),this.lock}static submit(t){return c.getLock().submit(t)}static async release(t){return c.getLock().release(t)}async release(t){this.released||(this.released=!0,await c.release(t))}getMetadata(){return this.metadata?[...this.metadata]:void 0}static getTransactionalMetadata(t){let s=this.metadataCache.get(t);if(s)return s;const a=new Set(["__transactionProxy","__transactionTarget","string"==typeof i.DBKeys.ORIGINAL?i.DBKeys.ORIGINAL:"__originalObj"]),n=e.Metadata.transactionals(t)??[],o=(e.Metadata.properties(t)||[]).filter(t=>!a.has(t)),r=new Map;return o.forEach(i=>{const s=e.Metadata.type(t,i);r.set(i,!!s&&e.Metadata.isTransactional(s))}),s={methods:n,propertyKeys:o,propertyDesignTypes:r},this.metadataCache.set(t,s),s}bindTransaction(t){this.log.for(this.bindTransaction).verbose(`Binding the ${t.toString()} to ${this}`),this.logs.push(...t.logs),t.bindTransaction=this.bindToTransaction.bind(this),t.bindToTransaction=this.bindToTransaction.bind(this),this.action=t.action}bindToTransaction(t){const a=this.log.for(this.bindToTransaction);a.verbose(`Binding object ${s.getObjectName(t)} to transaction ${this.id}`);const n=c.getTransactionalMetadata(t.constructor),o=n.methods;if(!o.length)return t;const r=this,l=new Set(["__transactionProxy","__transactionTarget","string"==typeof i.DBKeys.ORIGINAL?i.DBKeys.ORIGINAL:"__originalObj"]),h=new Set(n.propertyKeys);Object.getOwnPropertyNames(t).forEach(t=>{l.has(t)||h.add(t)});const d=Array.from(h).filter(i=>{if(n.propertyDesignTypes.get(i))return!0;const s=t[i];return!(!s||"object"!=typeof s&&"function"!=typeof s||!e.Metadata.isTransactional(s.constructor))});a.debug(`found transaction methods: ${o.join(", ")} and properties: ${d.join(", ")}`);const u=new Proxy(t,{get:(t,e,i)=>o.includes(e)?new Proxy(t[e],{apply:(t,e,i)=>Reflect.apply(t,e,[r,...i])}):d.includes(e)?r.bindToTransaction(t[e]):Reflect.get(t,e,i)});return u[i.DBKeys.ORIGINAL]=t[i.DBKeys.ORIGINAL]||t,u.toString=()=>s.getObjectName(u[i.DBKeys.ORIGINAL])+" proxy for transaction "+this.id,u.__transactionProxy=!0,u.__transactionTarget=t.__transactionTarget||t,c.contexts.set(u,r),u}applyGlobalTimeout(t){if(0>=c.globalTimeout)return t;const e=c.globalTimeout,i=this.log.for(this.applyGlobalTimeout);return new Promise((s,a)=>{let n=!1;const r=setTimeout(()=>{if(n)return;const t=new o(`Transaction ${this.toString()} exceeded timeout of ${e}ms`);i.warn(t.message),this.release(t).catch(t=>i.error(t)),a(t)},e);t.then(t=>{n=!0,clearTimeout(r),s(t)}).catch(t=>{n=!0,clearTimeout(r),a(t)})})}fire(){if(!this.action)throw Error("Missing the method");const t=(async()=>this.action?await this.action():void 0)(),e=c.globalTimeout>0?this.applyGlobalTimeout(t):t;return this.initialFireDispatched||(this.initialFireDispatched=!0,e.then(t=>(this.resolveCompletion?.(t),t)).catch(t=>{throw this.rejectCompletion?.(t),t})),e}toString(t=!0,e=!1){return`${t?`[${this.id}]`:""}[Transaction][${this.source}.${this.method}${e?"]\nTransaction Log:\n"+this.logs.join("\n"):"]"}`}static contextTransaction(t){if(t&&t.__transactionProxy)return this.contexts.get(t)}wait(){return this.completion}static describeTarget(t){if(null===t||"object"!=typeof t&&"function"!=typeof t)return s.getObjectName(t);const e=t;let i=r.get(e);return i||(i=s.getObjectName(t),r.set(e,i)),i}}class l extends s.LoggedClass{get log(){return this._log||(this._log=c.log.for(this)),this._log}logger(t){return this.loggerCache.has(t)||this.loggerCache.set(t,this.log.for(this[t])),this.loggerCache.get(t)}constructor(t=1,e,i){super(),this.counter=t,this.onBegin=e,this.onEnd=i,this.pendingTransactions=[],this.currentTransaction=void 0,this.loggerCache=new Map,this.lock=new a}async submit(t){const e=this.logger("submit");if(await this.lock.acquire(),e.silly("Lock acquired to submit transaction "+t.id),this.currentTransaction&&this.currentTransaction.id===t.id)return this.lock.release(),e.silly("Released lock for re-entrant transaction "+t.id),t.fire();let i;return this.counter>0?(this.counter--,this.lock.release(),e.silly("Released lock for transaction "+t.id),i=this.fireTransaction(t)):(e.debug(`Pushing transaction ${t.id} to the queue`),this.pendingTransactions.push(t),i=t.wait(),this.lock.release(),e.silly("Released lock after queuing transaction "+t.id)),i}async fireTransaction(t){const e=this.logger("fireTransaction");return await this.lock.acquire(),e.silly("Lock acquired obtain transaction "+t.id),this.currentTransaction=t,this.lock.release(),e.silly("Released lock after obtaining "+t.id),this.onBegin&&(e.verbose("Calling onBegin for transaction "+t.id),await this.onBegin()),e.info(`Starting transaction ${t.id}. ${this.pendingTransactions.length} remaining...`),t.fire()}async release(t){const e=this.logger("release");await this.lock.acquire(),this.currentTransaction||e.warn("Trying to release an unexisting transaction. should never happen..."),e.verbose("Releasing transaction "+this.currentTransaction?.toString(!0,!0));const i=this.currentTransaction?.id;if(this.currentTransaction=void 0,this.lock.release(),e.silly("Released lock after clearing transaction "+i),this.onEnd&&(e.verbose("Calling onEnd for transaction "+i),await this.onEnd(t)),await this.lock.acquire(),e.silly(`Acquired lock after completing transaction ${i} for pending transaction verification`),this.pendingTransactions.length>0){const t=this.pendingTransactions.shift(),i=()=>this.fireTransaction.call(this,t).catch(t=>{this.log.for(this.fireTransaction).error(t)});e.silly(`Marking ${t.id} for execution`),s.isBrowser()?setTimeout(i,0):globalThis.process.nextTick(i)}else e.debug("No pending transactions. Incrementing counter."),this.counter++;this.lock.release(),e.silly("Released lock after completing transaction "+i)}}const h="##VERSION##",d="##PACKAGE##";e.Metadata.registerLibrary(d,h),t.COMMIT="5116424",t.FULL_VERSION="0.11.0-5116424",t.Lock=a,t.MultiLock=class extends a{constructor(){super(),this.locks={},this.lock=new a}async lockFor(t){return await this.lock.acquire(),this.locks[t]||(this.locks[t]=new a),this.lock.release(),this.locks[t]}async execute(t,e,...i){return(await this.lockFor(e)).execute(t,...i)}async acquire(t,...e){return(await this.lockFor(t)).acquire(...e)}release(t,...e){if(!(t in this.locks))throw Error("Trying to release a non existing lock. should be impossible");return this.locks[t].release(...e)}},t.PACKAGE_NAME=d,t.SynchronousLock=l,t.TimeoutError=o,t.Transaction=c,t.TransactionalKeys=n,t.VERSION=h,t.transactional=(...t)=>e.Decoration.for(n.TRANSACTIONAL).define({decorator:(...t)=>(s,a,o)=>{if(!o)throw new i.InternalError("This decorator only applies to methods");return e.method()(s,a,o),e.Metadata.set(s.constructor,e.Metadata.key(n.TRANSACTIONAL,a),{data:t}),o.value=new Proxy(o.value,{apply:async(e,i,n)=>new Promise((o,r)=>{async function l(t,e,i){return!e||e instanceof Error||i||(i=e,e=void 0),await t.release(e),e?r(e):o(i)}const h=n[0],d=(()=>{let t=0;for(;t<n.length&&n[t]instanceof c;)t++;return t})(),u=d>0?n.slice(d):n,g=h instanceof c?h:c.contextTransaction(i);if(g){const n=new c(s.name,a,async()=>{try{return o(await Reflect.apply(e,n.bindToTransaction(i),u))}catch(t){return r(t)}},t.length?t:void 0);g.bindTransaction(n),g.fire()}else{const n=new c(s.name,a,async()=>{try{return l(n,void 0,await Reflect.apply(e,n.bindToTransaction(i),u))}catch(t){return l(n,t)}},t.length?t:void 0);c.submit(n)}})}),o},args:t}).apply()},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/db-decorators","@decaf-ts/logging"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self)["transactional-decorators"]={},t.decafTsDecoration,t.decafTsDbDecorators,t.decafTsLogging);
|
|
2
2
|
//# sourceMappingURL=transactional-decorators.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactional-decorators.cjs","sources":["../src/locks/Lock.ts","../src/constants.ts","../src/overrides/overrides.ts","../src/errors.ts","../src/Transaction.ts","../src/locks/SynchronousLock.ts","../src/index.ts","../src/locks/MultiLock.ts","../src/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["Lock","constructor","this","queue","locked","execute","func","args","result","acquire","Promise","resolve","e","release","self","push","next","shift","globalThis","window","process","nextTick","setTimeout","TransactionalKeys","TRANSACTIONAL","Metadata","transactionals","obj","meta","get","Object","keys","isTransactional","TimeoutError","InternalError","message","super","name","objectNameCache","WeakMap","Transaction","LoggedClass","debug","globalTimeout","metadataCache","log","Proxy","Logging","for","target","prop","receiver","Reflect","contexts","source","method","action","metadata","initialFireDispatched","released","id","Date","now","logs","join","completion","reject","resolveCompletion","rejectCompletion","issuer","issuerName","describeTarget","methodName","transaction","async","l","toString","verbose","JSON","stringify","call","bindToTransaction","submit","run","contextOrRunnable","runnableOrMetadata","maybeMetadata","contextProvided","context","undefined","runnable","Error","rawMetadata","metadataValue","Array","isArray","length","sourceName","caughtError","boundContext","error","setLock","lock","getLock","SynchronousLock","err","getMetadata","getTransactionalMetadata","cached","reservedProps","Set","DBKeys","ORIGINAL","methods","propertyKeys","properties","filter","has","propertyDesignTypes","Map","forEach","type","set","bindTransaction","nextTransaction","bind","getObjectName","transactionalMethods","props","getOwnPropertyNames","add","transactionProps","from","p","value","boundObj","includes","apply","methodTarget","thisArg","argArray","__transactionProxy","__transactionTarget","applyGlobalTimeout","execution","timeoutMs","settled","timer","warn","catch","releaseErr","then","clearTimeout","fire","baseExecution","executeAction","withId","withLog","contextTransaction","wait","key","logger","loggerCache","counter","onBegin","onEnd","pendingTransactions","currentTransaction","silly","resultPromise","fireTransaction","info","cb","isBrowser","VERSION","PACKAGE_NAME","registerLibrary","locks","lockFor","data","Decoration","define","decorator","propertyKey","descriptor","exitFunction","candidate","transactionPrefixLength","count","invocationArgs","slice","activeTransaction","updatedTransaction","newTransaction"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transactional-decorators.cjs","sources":["../src/locks/Lock.ts","../src/constants.ts","../src/overrides/overrides.ts","../src/errors.ts","../src/Transaction.ts","../src/locks/SynchronousLock.ts","../src/index.ts","../src/locks/MultiLock.ts","../src/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["Lock","constructor","this","queue","locked","execute","func","args","result","acquire","Promise","resolve","e","release","self","push","next","shift","globalThis","window","process","nextTick","setTimeout","TransactionalKeys","TRANSACTIONAL","Metadata","transactionals","obj","meta","get","Object","keys","isTransactional","TimeoutError","InternalError","message","super","name","objectNameCache","WeakMap","Transaction","LoggedClass","debug","globalTimeout","metadataCache","log","Proxy","Logging","for","target","prop","receiver","Reflect","contexts","source","method","action","metadata","initialFireDispatched","released","id","Date","now","logs","join","completion","reject","resolveCompletion","rejectCompletion","issuer","issuerName","describeTarget","methodName","transaction","async","l","toString","verbose","JSON","stringify","call","bindToTransaction","submit","run","contextOrRunnable","runnableOrMetadata","maybeMetadata","contextProvided","context","undefined","runnable","Error","rawMetadata","metadataValue","Array","isArray","length","sourceName","caughtError","boundContext","error","setLock","lock","getLock","SynchronousLock","err","getMetadata","getTransactionalMetadata","cached","reservedProps","Set","DBKeys","ORIGINAL","methods","propertyKeys","properties","filter","has","propertyDesignTypes","Map","forEach","type","set","bindTransaction","nextTransaction","bind","getObjectName","transactionalMethods","props","getOwnPropertyNames","add","transactionProps","from","p","value","boundObj","includes","apply","methodTarget","thisArg","argArray","__transactionProxy","__transactionTarget","applyGlobalTimeout","execution","timeoutMs","settled","timer","warn","catch","releaseErr","then","clearTimeout","fire","baseExecution","executeAction","withId","withLog","contextTransaction","wait","key","logger","loggerCache","counter","onBegin","onEnd","pendingTransactions","currentTransaction","silly","resultPromise","fireTransaction","info","cb","isBrowser","VERSION","PACKAGE_NAME","registerLibrary","locks","lockFor","data","Decoration","define","decorator","propertyKey","descriptor","exitFunction","candidate","transactionPrefixLength","count","invocationArgs","slice","activeTransaction","updatedTransaction","newTransaction"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Metadata as t,Decoration as e,method as i}from"@decaf-ts/decoration";import{InternalError as s,DBKeys as n}from"@decaf-ts/db-decorators";import{LoggedClass as a,Logging as r,getObjectName as o,isBrowser as c}from"@decaf-ts/logging";class l{constructor(){this.queue=[],this.locked=!1}async execute(t,...e){let i;await this.acquire();try{i=await Promise.resolve(t())}catch(t){throw this.release(),t}return this.release(),i}async acquire(...t){const e=this;return e.locked?new Promise(t=>e.queue.push(t)):(e.locked=!0,Promise.resolve())}release(...t){const e=this.queue.shift();e?void 0===globalThis.window?globalThis.process.nextTick(e):setTimeout(e,0):this.locked=!1}}class h extends l{constructor(){super(),this.locks={},this.lock=new l}async lockFor(t){return await this.lock.acquire(),this.locks[t]||(this.locks[t]=new l),this.lock.release(),this.locks[t]}async execute(t,e,...i){return(await this.lockFor(e)).execute(t,...i)}async acquire(t,...e){return(await this.lockFor(t)).acquire(...e)}release(t,...e){if(!(t in this.locks))throw Error("Trying to release a non existing lock. should be impossible");return this.locks[t].release(...e)}}const u={TRANSACTIONAL:"transactional"};t.transactionals=e=>{const i=t.get(e,"transactional");return i?Object.keys(i):[]},t.isTransactional=e=>!!t.get(e,"transactional");class g extends s{constructor(t="Transaction timed out"){super(t,g.name,500)}}const d=new WeakMap;class f extends a{static{this.debug=!1}static{this.globalTimeout=-1}static{this.metadataCache=new WeakMap}static{this.log=new Proxy(r.for(f),{get:(t,e,i)=>"log"!==e||f.debug?Reflect.get(t,e,i):(...t)=>{}})}get log(){return this._log||(this._log=f.log),this._log}static{this.contexts=new WeakMap}constructor(t,e,i,s){super(),this.initialFireDispatched=!1,this.released=!1,this.id=Date.now(),this.action=i,this.method=e,this.logs=[[this.id,t,e].join(" | ")],this.source=t,this.metadata=s,this.completion=new Promise((t,e)=>{this.resolveCompletion=t,this.rejectCompletion=e})}static async push(t,e,...i){const s=this.log.for(this.push),n=f.describeTarget(t),a=f.describeTarget(e),r=new f(n,a,async()=>{const n=s.for(r.id.toString());try{n.verbose("Executing transaction method "+a),n.debug("With arguments: "+JSON.stringify(i));const s=await Promise.resolve(e.call(r.bindToTransaction(t),...i));return n.verbose(`Transaction method ${a} executed successfully`),n.debug("Result: "+JSON.stringify(s)),await r.release(),n.debug("lock released"),s}catch(t){throw await r.release(t),t}});return s.debug(`Pushing transaction ${r.id} for method ${a} on issuer ${n}`),f.submit(r)}static async run(t,e,i){const s="function"!=typeof t,n=s?t:void 0,a=s?e:t;if("function"!=typeof a)throw Error("Transaction.run requires an async function");const r=s?i:e,o=Array.isArray(r)&&r.length?r:void 0,c=n?f.describeTarget(n):f.describeTarget(a),l=f.describeTarget(a);let h;return h=new f(c,l,async()=>{let t;try{const t=n?h.bindToTransaction(n):void 0;return await a.call(t??h)}catch(e){throw t=e,e}finally{await h.release(t instanceof Error?t:void 0)}},o),f.submit(h)}static setLock(t){this.lock=t}static getLock(){return this.lock||(this.lock=new T),this.lock}static submit(t){return f.getLock().submit(t)}static async release(t){return f.getLock().release(t)}async release(t){this.released||(this.released=!0,await f.release(t))}getMetadata(){return this.metadata?[...this.metadata]:void 0}static getTransactionalMetadata(e){let i=this.metadataCache.get(e);if(i)return i;const s=new Set(["__transactionProxy","__transactionTarget","string"==typeof n.ORIGINAL?n.ORIGINAL:"__originalObj"]),a=t.transactionals(e)??[],r=(t.properties(e)||[]).filter(t=>!s.has(t)),o=new Map;return r.forEach(i=>{const s=t.type(e,i);o.set(i,!!s&&t.isTransactional(s))}),i={methods:a,propertyKeys:r,propertyDesignTypes:o},this.metadataCache.set(e,i),i}bindTransaction(t){this.log.for(this.bindTransaction).verbose(`Binding the ${t.toString()} to ${this}`),this.logs.push(...t.logs),t.bindTransaction=this.bindToTransaction.bind(this),t.bindToTransaction=this.bindToTransaction.bind(this),this.action=t.action}bindToTransaction(e){const i=this.log.for(this.bindToTransaction);i.verbose(`Binding object ${o(e)} to transaction ${this.id}`);const s=f.getTransactionalMetadata(e.constructor),a=s.methods;if(!a.length)return e;const r=this,c=new Set(["__transactionProxy","__transactionTarget","string"==typeof n.ORIGINAL?n.ORIGINAL:"__originalObj"]),l=new Set(s.propertyKeys);Object.getOwnPropertyNames(e).forEach(t=>{c.has(t)||l.add(t)});const h=Array.from(l).filter(i=>{if(s.propertyDesignTypes.get(i))return!0;const n=e[i];return!(!n||"object"!=typeof n&&"function"!=typeof n||!t.isTransactional(n.constructor))});i.debug(`found transaction methods: ${a.join(", ")} and properties: ${h.join(", ")}`);const u=new Proxy(e,{get:(t,e,i)=>a.includes(e)?new Proxy(t[e],{apply:(t,e,i)=>Reflect.apply(t,e,[r,...i])}):h.includes(e)?r.bindToTransaction(t[e]):Reflect.get(t,e,i)});return u[n.ORIGINAL]=e[n.ORIGINAL]||e,u.toString=()=>o(u[n.ORIGINAL])+" proxy for transaction "+this.id,u.__transactionProxy=!0,u.__transactionTarget=e.__transactionTarget||e,f.contexts.set(u,r),u}applyGlobalTimeout(t){if(0>=f.globalTimeout)return t;const e=f.globalTimeout,i=this.log.for(this.applyGlobalTimeout);return new Promise((s,n)=>{let a=!1;const r=setTimeout(()=>{if(a)return;const t=new g(`Transaction ${this.toString()} exceeded timeout of ${e}ms`);i.warn(t.message),this.release(t).catch(t=>i.error(t)),n(t)},e);t.then(t=>{a=!0,clearTimeout(r),s(t)}).catch(t=>{a=!0,clearTimeout(r),n(t)})})}fire(){if(!this.action)throw Error("Missing the method");const t=(async()=>this.action?await this.action():void 0)(),e=f.globalTimeout>0?this.applyGlobalTimeout(t):t;return this.initialFireDispatched||(this.initialFireDispatched=!0,e.then(t=>(this.resolveCompletion?.(t),t)).catch(t=>{throw this.rejectCompletion?.(t),t})),e}toString(t=!0,e=!1){return`${t?`[${this.id}]`:""}[Transaction][${this.source}.${this.method}${e?"]\nTransaction Log:\n"+this.logs.join("\n"):"]"}`}static contextTransaction(t){if(t&&t.__transactionProxy)return this.contexts.get(t)}wait(){return this.completion}static describeTarget(t){if(null===t||"object"!=typeof t&&"function"!=typeof t)return o(t);const e=t;let i=d.get(e);return i||(i=o(t),d.set(e,i)),i}}class T extends a{get log(){return this._log||(this._log=f.log.for(this)),this._log}logger(t){return this.loggerCache.has(t)||this.loggerCache.set(t,this.log.for(this[t])),this.loggerCache.get(t)}constructor(t=1,e,i){super(),this.counter=t,this.onBegin=e,this.onEnd=i,this.pendingTransactions=[],this.currentTransaction=void 0,this.loggerCache=new Map,this.lock=new l}async submit(t){const e=this.logger("submit");if(await this.lock.acquire(),e.silly("Lock acquired to submit transaction "+t.id),this.currentTransaction&&this.currentTransaction.id===t.id)return this.lock.release(),e.silly("Released lock for re-entrant transaction "+t.id),t.fire();let i;return this.counter>0?(this.counter--,this.lock.release(),e.silly("Released lock for transaction "+t.id),i=this.fireTransaction(t)):(e.debug(`Pushing transaction ${t.id} to the queue`),this.pendingTransactions.push(t),i=t.wait(),this.lock.release(),e.silly("Released lock after queuing transaction "+t.id)),i}async fireTransaction(t){const e=this.logger("fireTransaction");return await this.lock.acquire(),e.silly("Lock acquired obtain transaction "+t.id),this.currentTransaction=t,this.lock.release(),e.silly("Released lock after obtaining "+t.id),this.onBegin&&(e.verbose("Calling onBegin for transaction "+t.id),await this.onBegin()),e.info(`Starting transaction ${t.id}. ${this.pendingTransactions.length} remaining...`),t.fire()}async release(t){const e=this.logger("release");await this.lock.acquire(),this.currentTransaction||e.warn("Trying to release an unexisting transaction. should never happen..."),e.verbose("Releasing transaction "+this.currentTransaction?.toString(!0,!0));const i=this.currentTransaction?.id;if(this.currentTransaction=void 0,this.lock.release(),e.silly("Released lock after clearing transaction "+i),this.onEnd&&(e.verbose("Calling onEnd for transaction "+i),await this.onEnd(t)),await this.lock.acquire(),e.silly(`Acquired lock after completing transaction ${i} for pending transaction verification`),this.pendingTransactions.length>0){const t=this.pendingTransactions.shift(),i=()=>this.fireTransaction.call(this,t).catch(t=>{this.log.for(this.fireTransaction).error(t)});e.silly(`Marking ${t.id} for execution`),c()?setTimeout(i,0):globalThis.process.nextTick(i)}else e.debug("No pending transactions. Incrementing counter."),this.counter++;this.lock.release(),e.silly("Released lock after completing transaction "+i)}}function p(...n){return e.for("transactional").define({decorator:(...e)=>(n,a,r)=>{if(!r)throw new s("This decorator only applies to methods");return i()(n,a,r),t.set(n.constructor,t.key("transactional",a),{data:e}),r.value=new Proxy(r.value,{apply:async(t,i,s)=>new Promise((r,o)=>{async function c(t,e,i){return!e||e instanceof Error||i||(i=e,e=void 0),await t.release(e),e?o(e):r(i)}const l=s[0],h=(()=>{let t=0;for(;t<s.length&&s[t]instanceof f;)t++;return t})(),u=h>0?s.slice(h):s,g=l instanceof f?l:f.contextTransaction(i);if(g){const s=new f(n.name,a,async()=>{try{return r(await Reflect.apply(t,s.bindToTransaction(i),u))}catch(t){return o(t)}},e.length?e:void 0);g.bindTransaction(s),g.fire()}else{const s=new f(n.name,a,async()=>{try{return c(s,void 0,await Reflect.apply(t,s.bindToTransaction(i),u))}catch(t){return c(s,t)}},e.length?e:void 0);f.submit(s)}})}),r},args:n}).apply()}const y="##VERSION##",m="##PACKAGE##";t.registerLibrary(
|
|
1
|
+
import{Metadata as t,Decoration as e,method as i}from"@decaf-ts/decoration";import{InternalError as s,DBKeys as n}from"@decaf-ts/db-decorators";import{LoggedClass as a,Logging as r,getObjectName as o,isBrowser as c}from"@decaf-ts/logging";class l{constructor(){this.queue=[],this.locked=!1}async execute(t,...e){let i;await this.acquire();try{i=await Promise.resolve(t())}catch(t){throw this.release(),t}return this.release(),i}async acquire(...t){const e=this;return e.locked?new Promise(t=>e.queue.push(t)):(e.locked=!0,Promise.resolve())}release(...t){const e=this.queue.shift();e?void 0===globalThis.window?globalThis.process.nextTick(e):setTimeout(e,0):this.locked=!1}}class h extends l{constructor(){super(),this.locks={},this.lock=new l}async lockFor(t){return await this.lock.acquire(),this.locks[t]||(this.locks[t]=new l),this.lock.release(),this.locks[t]}async execute(t,e,...i){return(await this.lockFor(e)).execute(t,...i)}async acquire(t,...e){return(await this.lockFor(t)).acquire(...e)}release(t,...e){if(!(t in this.locks))throw Error("Trying to release a non existing lock. should be impossible");return this.locks[t].release(...e)}}const u={TRANSACTIONAL:"transactional"};t.transactionals=e=>{const i=t.get(e,"transactional");return i?Object.keys(i):[]},t.isTransactional=e=>!!t.get(e,"transactional");class g extends s{constructor(t="Transaction timed out"){super(t,g.name,500)}}const d=new WeakMap;class f extends a{static{this.debug=!1}static{this.globalTimeout=-1}static{this.metadataCache=new WeakMap}static{this.log=new Proxy(r.for(f),{get:(t,e,i)=>"log"!==e||f.debug?Reflect.get(t,e,i):(...t)=>{}})}get log(){return this._log||(this._log=f.log),this._log}static{this.contexts=new WeakMap}constructor(t,e,i,s){super(),this.initialFireDispatched=!1,this.released=!1,this.id=Date.now(),this.action=i,this.method=e,this.logs=[[this.id,t,e].join(" | ")],this.source=t,this.metadata=s,this.completion=new Promise((t,e)=>{this.resolveCompletion=t,this.rejectCompletion=e})}static async push(t,e,...i){const s=this.log.for(this.push),n=f.describeTarget(t),a=f.describeTarget(e),r=new f(n,a,async()=>{const n=s.for(r.id.toString());try{n.verbose("Executing transaction method "+a),n.debug("With arguments: "+JSON.stringify(i));const s=await Promise.resolve(e.call(r.bindToTransaction(t),...i));return n.verbose(`Transaction method ${a} executed successfully`),n.debug("Result: "+JSON.stringify(s)),await r.release(),n.debug("lock released"),s}catch(t){throw await r.release(t),t}});return s.debug(`Pushing transaction ${r.id} for method ${a} on issuer ${n}`),f.submit(r)}static async run(t,e,i){const s="function"!=typeof t,n=s?t:void 0,a=s?e:t;if("function"!=typeof a)throw Error("Transaction.run requires an async function");const r=s?i:e,o=Array.isArray(r)&&r.length?r:void 0,c=n?f.describeTarget(n):f.describeTarget(a),l=f.describeTarget(a);let h;return h=new f(c,l,async()=>{let t;try{const t=n?h.bindToTransaction(n):void 0;return await a.call(t??h)}catch(e){throw t=e,e}finally{await h.release(t instanceof Error?t:void 0)}},o),f.submit(h)}static setLock(t){this.lock=t}static getLock(){return this.lock||(this.lock=new T),this.lock}static submit(t){return f.getLock().submit(t)}static async release(t){return f.getLock().release(t)}async release(t){this.released||(this.released=!0,await f.release(t))}getMetadata(){return this.metadata?[...this.metadata]:void 0}static getTransactionalMetadata(e){let i=this.metadataCache.get(e);if(i)return i;const s=new Set(["__transactionProxy","__transactionTarget","string"==typeof n.ORIGINAL?n.ORIGINAL:"__originalObj"]),a=t.transactionals(e)??[],r=(t.properties(e)||[]).filter(t=>!s.has(t)),o=new Map;return r.forEach(i=>{const s=t.type(e,i);o.set(i,!!s&&t.isTransactional(s))}),i={methods:a,propertyKeys:r,propertyDesignTypes:o},this.metadataCache.set(e,i),i}bindTransaction(t){this.log.for(this.bindTransaction).verbose(`Binding the ${t.toString()} to ${this}`),this.logs.push(...t.logs),t.bindTransaction=this.bindToTransaction.bind(this),t.bindToTransaction=this.bindToTransaction.bind(this),this.action=t.action}bindToTransaction(e){const i=this.log.for(this.bindToTransaction);i.verbose(`Binding object ${o(e)} to transaction ${this.id}`);const s=f.getTransactionalMetadata(e.constructor),a=s.methods;if(!a.length)return e;const r=this,c=new Set(["__transactionProxy","__transactionTarget","string"==typeof n.ORIGINAL?n.ORIGINAL:"__originalObj"]),l=new Set(s.propertyKeys);Object.getOwnPropertyNames(e).forEach(t=>{c.has(t)||l.add(t)});const h=Array.from(l).filter(i=>{if(s.propertyDesignTypes.get(i))return!0;const n=e[i];return!(!n||"object"!=typeof n&&"function"!=typeof n||!t.isTransactional(n.constructor))});i.debug(`found transaction methods: ${a.join(", ")} and properties: ${h.join(", ")}`);const u=new Proxy(e,{get:(t,e,i)=>a.includes(e)?new Proxy(t[e],{apply:(t,e,i)=>Reflect.apply(t,e,[r,...i])}):h.includes(e)?r.bindToTransaction(t[e]):Reflect.get(t,e,i)});return u[n.ORIGINAL]=e[n.ORIGINAL]||e,u.toString=()=>o(u[n.ORIGINAL])+" proxy for transaction "+this.id,u.__transactionProxy=!0,u.__transactionTarget=e.__transactionTarget||e,f.contexts.set(u,r),u}applyGlobalTimeout(t){if(0>=f.globalTimeout)return t;const e=f.globalTimeout,i=this.log.for(this.applyGlobalTimeout);return new Promise((s,n)=>{let a=!1;const r=setTimeout(()=>{if(a)return;const t=new g(`Transaction ${this.toString()} exceeded timeout of ${e}ms`);i.warn(t.message),this.release(t).catch(t=>i.error(t)),n(t)},e);t.then(t=>{a=!0,clearTimeout(r),s(t)}).catch(t=>{a=!0,clearTimeout(r),n(t)})})}fire(){if(!this.action)throw Error("Missing the method");const t=(async()=>this.action?await this.action():void 0)(),e=f.globalTimeout>0?this.applyGlobalTimeout(t):t;return this.initialFireDispatched||(this.initialFireDispatched=!0,e.then(t=>(this.resolveCompletion?.(t),t)).catch(t=>{throw this.rejectCompletion?.(t),t})),e}toString(t=!0,e=!1){return`${t?`[${this.id}]`:""}[Transaction][${this.source}.${this.method}${e?"]\nTransaction Log:\n"+this.logs.join("\n"):"]"}`}static contextTransaction(t){if(t&&t.__transactionProxy)return this.contexts.get(t)}wait(){return this.completion}static describeTarget(t){if(null===t||"object"!=typeof t&&"function"!=typeof t)return o(t);const e=t;let i=d.get(e);return i||(i=o(t),d.set(e,i)),i}}class T extends a{get log(){return this._log||(this._log=f.log.for(this)),this._log}logger(t){return this.loggerCache.has(t)||this.loggerCache.set(t,this.log.for(this[t])),this.loggerCache.get(t)}constructor(t=1,e,i){super(),this.counter=t,this.onBegin=e,this.onEnd=i,this.pendingTransactions=[],this.currentTransaction=void 0,this.loggerCache=new Map,this.lock=new l}async submit(t){const e=this.logger("submit");if(await this.lock.acquire(),e.silly("Lock acquired to submit transaction "+t.id),this.currentTransaction&&this.currentTransaction.id===t.id)return this.lock.release(),e.silly("Released lock for re-entrant transaction "+t.id),t.fire();let i;return this.counter>0?(this.counter--,this.lock.release(),e.silly("Released lock for transaction "+t.id),i=this.fireTransaction(t)):(e.debug(`Pushing transaction ${t.id} to the queue`),this.pendingTransactions.push(t),i=t.wait(),this.lock.release(),e.silly("Released lock after queuing transaction "+t.id)),i}async fireTransaction(t){const e=this.logger("fireTransaction");return await this.lock.acquire(),e.silly("Lock acquired obtain transaction "+t.id),this.currentTransaction=t,this.lock.release(),e.silly("Released lock after obtaining "+t.id),this.onBegin&&(e.verbose("Calling onBegin for transaction "+t.id),await this.onBegin()),e.info(`Starting transaction ${t.id}. ${this.pendingTransactions.length} remaining...`),t.fire()}async release(t){const e=this.logger("release");await this.lock.acquire(),this.currentTransaction||e.warn("Trying to release an unexisting transaction. should never happen..."),e.verbose("Releasing transaction "+this.currentTransaction?.toString(!0,!0));const i=this.currentTransaction?.id;if(this.currentTransaction=void 0,this.lock.release(),e.silly("Released lock after clearing transaction "+i),this.onEnd&&(e.verbose("Calling onEnd for transaction "+i),await this.onEnd(t)),await this.lock.acquire(),e.silly(`Acquired lock after completing transaction ${i} for pending transaction verification`),this.pendingTransactions.length>0){const t=this.pendingTransactions.shift(),i=()=>this.fireTransaction.call(this,t).catch(t=>{this.log.for(this.fireTransaction).error(t)});e.silly(`Marking ${t.id} for execution`),c()?setTimeout(i,0):globalThis.process.nextTick(i)}else e.debug("No pending transactions. Incrementing counter."),this.counter++;this.lock.release(),e.silly("Released lock after completing transaction "+i)}}function p(...n){return e.for("transactional").define({decorator:(...e)=>(n,a,r)=>{if(!r)throw new s("This decorator only applies to methods");return i()(n,a,r),t.set(n.constructor,t.key("transactional",a),{data:e}),r.value=new Proxy(r.value,{apply:async(t,i,s)=>new Promise((r,o)=>{async function c(t,e,i){return!e||e instanceof Error||i||(i=e,e=void 0),await t.release(e),e?o(e):r(i)}const l=s[0],h=(()=>{let t=0;for(;t<s.length&&s[t]instanceof f;)t++;return t})(),u=h>0?s.slice(h):s,g=l instanceof f?l:f.contextTransaction(i);if(g){const s=new f(n.name,a,async()=>{try{return r(await Reflect.apply(t,s.bindToTransaction(i),u))}catch(t){return o(t)}},e.length?e:void 0);g.bindTransaction(s),g.fire()}else{const s=new f(n.name,a,async()=>{try{return c(s,void 0,await Reflect.apply(t,s.bindToTransaction(i),u))}catch(t){return c(s,t)}},e.length?e:void 0);f.submit(s)}})}),r},args:n}).apply()}const y="##VERSION##",m="##COMMIT##",b="##FULL_VERSION##",w="##PACKAGE##";t.registerLibrary(w,y);export{m as COMMIT,b as FULL_VERSION,l as Lock,h as MultiLock,w as PACKAGE_NAME,T as SynchronousLock,g as TimeoutError,f as Transaction,u as TransactionalKeys,y as VERSION,p as transactional};
|
|
2
2
|
//# sourceMappingURL=transactional-decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactional-decorators.js","sources":["../src/locks/Lock.ts","../src/locks/MultiLock.ts","../src/constants.ts","../src/overrides/overrides.ts","../src/errors.ts","../src/Transaction.ts","../src/locks/SynchronousLock.ts","../src/decorators.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["Lock","constructor","this","queue","locked","execute","func","args","result","acquire","Promise","resolve","e","release","self","push","next","shift","globalThis","window","process","nextTick","setTimeout","MultiLock","super","locks","lock","lockFor","name","Error","TransactionalKeys","TRANSACTIONAL","Metadata","transactionals","obj","meta","get","Object","keys","isTransactional","TimeoutError","InternalError","message","objectNameCache","WeakMap","Transaction","LoggedClass","debug","globalTimeout","metadataCache","log","Proxy","Logging","for","target","prop","receiver","Reflect","contexts","source","method","action","metadata","initialFireDispatched","released","id","Date","now","logs","join","completion","reject","resolveCompletion","rejectCompletion","issuer","issuerName","describeTarget","methodName","transaction","async","l","toString","verbose","JSON","stringify","call","bindToTransaction","submit","run","contextOrRunnable","runnableOrMetadata","maybeMetadata","contextProvided","context","undefined","runnable","rawMetadata","metadataValue","Array","isArray","length","sourceName","caughtError","boundContext","error","setLock","getLock","SynchronousLock","err","getMetadata","getTransactionalMetadata","cached","reservedProps","Set","DBKeys","ORIGINAL","methods","propertyKeys","properties","filter","has","propertyDesignTypes","Map","forEach","type","set","bindTransaction","nextTransaction","bind","getObjectName","transactionalMethods","props","getOwnPropertyNames","add","transactionProps","from","p","value","boundObj","includes","apply","methodTarget","thisArg","argArray","__transactionProxy","__transactionTarget","applyGlobalTimeout","execution","timeoutMs","settled","timer","warn","catch","releaseErr","then","clearTimeout","fire","baseExecution","executeAction","withId","withLog","contextTransaction","wait","key","logger","loggerCache","counter","onBegin","onEnd","pendingTransactions","currentTransaction","silly","resultPromise","fireTransaction","info","cb","isBrowser","transactional","data","Decoration","define","decorator","propertyKey","descriptor","exitFunction","candidate","transactionPrefixLength","count","invocationArgs","slice","activeTransaction","updatedTransaction","newTransaction","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transactional-decorators.js","sources":["../src/locks/Lock.ts","../src/locks/MultiLock.ts","../src/constants.ts","../src/overrides/overrides.ts","../src/errors.ts","../src/Transaction.ts","../src/locks/SynchronousLock.ts","../src/decorators.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["Lock","constructor","this","queue","locked","execute","func","args","result","acquire","Promise","resolve","e","release","self","push","next","shift","globalThis","window","process","nextTick","setTimeout","MultiLock","super","locks","lock","lockFor","name","Error","TransactionalKeys","TRANSACTIONAL","Metadata","transactionals","obj","meta","get","Object","keys","isTransactional","TimeoutError","InternalError","message","objectNameCache","WeakMap","Transaction","LoggedClass","debug","globalTimeout","metadataCache","log","Proxy","Logging","for","target","prop","receiver","Reflect","contexts","source","method","action","metadata","initialFireDispatched","released","id","Date","now","logs","join","completion","reject","resolveCompletion","rejectCompletion","issuer","issuerName","describeTarget","methodName","transaction","async","l","toString","verbose","JSON","stringify","call","bindToTransaction","submit","run","contextOrRunnable","runnableOrMetadata","maybeMetadata","contextProvided","context","undefined","runnable","rawMetadata","metadataValue","Array","isArray","length","sourceName","caughtError","boundContext","error","setLock","getLock","SynchronousLock","err","getMetadata","getTransactionalMetadata","cached","reservedProps","Set","DBKeys","ORIGINAL","methods","propertyKeys","properties","filter","has","propertyDesignTypes","Map","forEach","type","set","bindTransaction","nextTransaction","bind","getObjectName","transactionalMethods","props","getOwnPropertyNames","add","transactionProps","from","p","value","boundObj","includes","apply","methodTarget","thisArg","argArray","__transactionProxy","__transactionTarget","applyGlobalTimeout","execution","timeoutMs","settled","timer","warn","catch","releaseErr","then","clearTimeout","fire","baseExecution","executeAction","withId","withLog","contextTransaction","wait","key","logger","loggerCache","counter","onBegin","onEnd","pendingTransactions","currentTransaction","silly","resultPromise","fireTransaction","info","cb","isBrowser","transactional","data","Decoration","define","decorator","propertyKey","descriptor","exitFunction","candidate","transactionPrefixLength","count","invocationArgs","slice","activeTransaction","updatedTransaction","newTransaction","VERSION","COMMIT","FULL_VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/cjs/index.cjs
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.PACKAGE_NAME = exports.VERSION = void 0;
|
|
17
|
+
exports.PACKAGE_NAME = exports.FULL_VERSION = exports.COMMIT = exports.VERSION = void 0;
|
|
18
18
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
19
19
|
__exportStar(require("./interfaces/index.cjs"), exports);
|
|
20
20
|
__exportStar(require("./locks/index.cjs"), exports);
|
|
@@ -35,7 +35,21 @@ __exportStar(require("./types.cjs"), exports);
|
|
|
35
35
|
* @const VERSION
|
|
36
36
|
* @memberOf module:transactions
|
|
37
37
|
*/
|
|
38
|
-
exports.VERSION = "0.
|
|
38
|
+
exports.VERSION = "0.11.0";
|
|
39
|
+
/**
|
|
40
|
+
* @description Represents the current commit hash of the module build.
|
|
41
|
+
* @summary Stores the current git commit hash for the package. The build replaces
|
|
42
|
+
* the placeholder with the actual commit hash at publish time.
|
|
43
|
+
* @const COMMIT
|
|
44
|
+
*/
|
|
45
|
+
exports.COMMIT = "5116424";
|
|
46
|
+
/**
|
|
47
|
+
* @description Represents the full version string of the module.
|
|
48
|
+
* @summary Stores the semver version and commit hash for the package.
|
|
49
|
+
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
50
|
+
* @const FULL_VERSION
|
|
51
|
+
*/
|
|
52
|
+
exports.FULL_VERSION = "0.11.0-5116424";
|
|
39
53
|
exports.PACKAGE_NAME = "@decaf-ts/transactional-decorators";
|
|
40
54
|
decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
|
|
41
55
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.cjs.map
CHANGED
|
@@ -1 +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;
|
|
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;AACrC;;;;;GAKG;AACU,QAAA,MAAM,GAAG,YAAY,CAAC;AACnC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,kBAAkB,CAAC;AAClC,QAAA,YAAY,GAAG,aAAa,CAAC;AAC1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC;AAChD,iCAAiC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -18,7 +18,21 @@ export * from "./types.js";
|
|
|
18
18
|
* @const VERSION
|
|
19
19
|
* @memberOf module:transactions
|
|
20
20
|
*/
|
|
21
|
-
export const VERSION = "0.
|
|
21
|
+
export const VERSION = "0.11.0";
|
|
22
|
+
/**
|
|
23
|
+
* @description Represents the current commit hash of the module build.
|
|
24
|
+
* @summary Stores the current git commit hash for the package. The build replaces
|
|
25
|
+
* the placeholder with the actual commit hash at publish time.
|
|
26
|
+
* @const COMMIT
|
|
27
|
+
*/
|
|
28
|
+
export const COMMIT = "5116424";
|
|
29
|
+
/**
|
|
30
|
+
* @description Represents the full version string of the module.
|
|
31
|
+
* @summary Stores the semver version and commit hash for the package.
|
|
32
|
+
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
33
|
+
* @const FULL_VERSION
|
|
34
|
+
*/
|
|
35
|
+
export const FULL_VERSION = "0.11.0-5116424";
|
|
22
36
|
export const PACKAGE_NAME = "@decaf-ts/transactional-decorators";
|
|
23
37
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
24
38
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,sCAA6B;AAC7B,iCAAwB;AACxB,qCAA4B;AAC5B,+BAA4B;AAC5B,4BAAyB;AACzB,gCAA6B;AAC7B,iCAA8B;AAC9B,2BAAwB;AAExB;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,sCAA6B;AAC7B,iCAAwB;AACxB,qCAA4B;AAC5B,+BAA4B;AAC5B,4BAAyB;AACzB,gCAA6B;AAC7B,iCAA8B;AAC9B,2BAAwB;AAExB;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAG/C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;AAE1C,QAAQ,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC"}
|
package/lib/types/index.d.cts
CHANGED
|
@@ -17,5 +17,19 @@ export * from "./types.d.cts";
|
|
|
17
17
|
* @const VERSION
|
|
18
18
|
* @memberOf module:transactions
|
|
19
19
|
*/
|
|
20
|
-
export declare const VERSION = "0.
|
|
20
|
+
export declare const VERSION = "0.11.0";
|
|
21
|
+
/**
|
|
22
|
+
* @description Represents the current commit hash of the module build.
|
|
23
|
+
* @summary Stores the current git commit hash for the package. The build replaces
|
|
24
|
+
* the placeholder with the actual commit hash at publish time.
|
|
25
|
+
* @const COMMIT
|
|
26
|
+
*/
|
|
27
|
+
export declare const COMMIT = "5116424";
|
|
28
|
+
/**
|
|
29
|
+
* @description Represents the full version string of the module.
|
|
30
|
+
* @summary Stores the semver version and commit hash for the package.
|
|
31
|
+
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
32
|
+
* @const FULL_VERSION
|
|
33
|
+
*/
|
|
34
|
+
export declare const FULL_VERSION = "0.11.0-5116424";
|
|
21
35
|
export declare const PACKAGE_NAME = "@decaf-ts/transactional-decorators";
|
package/lib/types/index.d.mts
CHANGED
|
@@ -17,5 +17,19 @@ export * from "./types.d.mts";
|
|
|
17
17
|
* @const VERSION
|
|
18
18
|
* @memberOf module:transactions
|
|
19
19
|
*/
|
|
20
|
-
export declare const VERSION = "0.
|
|
20
|
+
export declare const VERSION = "0.11.0";
|
|
21
|
+
/**
|
|
22
|
+
* @description Represents the current commit hash of the module build.
|
|
23
|
+
* @summary Stores the current git commit hash for the package. The build replaces
|
|
24
|
+
* the placeholder with the actual commit hash at publish time.
|
|
25
|
+
* @const COMMIT
|
|
26
|
+
*/
|
|
27
|
+
export declare const COMMIT = "5116424";
|
|
28
|
+
/**
|
|
29
|
+
* @description Represents the full version string of the module.
|
|
30
|
+
* @summary Stores the semver version and commit hash for the package.
|
|
31
|
+
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
32
|
+
* @const FULL_VERSION
|
|
33
|
+
*/
|
|
34
|
+
export declare const FULL_VERSION = "0.11.0-5116424";
|
|
21
35
|
export declare const PACKAGE_NAME = "@decaf-ts/transactional-decorators";
|