@decaf-ts/transactional-decorators 0.2.0 → 0.2.2
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/decorators.cjs +69 -61
- package/lib/decorators.d.ts +1 -1
- package/lib/decorators.js.map +1 -1
- package/lib/esm/decorators.d.ts +1 -1
- package/lib/esm/decorators.js +70 -62
- package/lib/esm/decorators.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/package.json +3 -4
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t,e,i,
|
|
1
|
+
var t,e;t=this,e=function(t,e,i,a){"use strict";class s{constructor(){this.queue=[],this.locked=!1}async execute(t){let e;await this.acquire();try{e=await Promise.resolve(t())}catch(t){throw this.release(),t}return this.release(),e}async acquire(){const t=this;return t.locked?new Promise(e=>t.queue.push(e)):(t.locked=!0,Promise.resolve())}release(){const t=this.queue.shift();t?void 0===globalThis.window?globalThis.process.nextTick(t):setTimeout(t,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 a.LoggedClass{static{this.debug=!1}static{this.globalTimeout=-1}static{this.metadataCache=new WeakMap}static{this.log=new Proxy(a.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,a){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=a,this.completion=new Promise((t,e)=>{this.resolveCompletion=t,this.rejectCompletion=e})}static async push(t,e,...i){const a=this.log.for(this.push),s=c.describeTarget(t),n=c.describeTarget(e),o=new c(s,n,async()=>{const s=a.for(o.id.toString());try{s.verbose("Executing transaction method "+n),s.debug("With arguments: "+JSON.stringify(i));const a=await Promise.resolve(e.call(o.bindToTransaction(t),...i));return s.verbose(`Transaction method ${n} executed successfully`),s.debug("Result: "+JSON.stringify(a)),await o.release(),s.debug("lock released"),a}catch(t){throw await o.release(t),t}});return a.debug(`Pushing transaction ${o.id} for method ${n} on issuer ${s}`),c.submit(o)}static async run(t,e,i){const a="function"!=typeof t,s=a?t:void 0,n=a?e:t;if("function"!=typeof n)throw Error("Transaction.run requires an async function");const o=a?i:e,r=Array.isArray(o)&&o.length?o:void 0,l=s?c.describeTarget(s):c.describeTarget(n),h=c.describeTarget(n);let d;return d=new c(l,h,async()=>{let t;try{const t=s?d.bindToTransaction(s):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 a=this.metadataCache.get(t);if(a)return a;const s=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=>!s.has(t)),r=new Map;return o.forEach(i=>{const a=e.Metadata.type(t,i);r.set(i,!!a&&e.Metadata.isTransactional(a))}),a={methods:n,propertyKeys:o,propertyDesignTypes:r},this.metadataCache.set(t,a),a}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 s=this.log.for(this.bindToTransaction);s.verbose(`Binding object ${a.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 a=t[i];return!(!a||"object"!=typeof a&&"function"!=typeof a||!e.Metadata.isTransactional(a.constructor))});s.debug(`found transaction methods: ${o.join(", ")} and properties: ${d.join(", ")}`);const g=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 g[i.DBKeys.ORIGINAL]=t[i.DBKeys.ORIGINAL]||t,g.toString=()=>a.getObjectName(g[i.DBKeys.ORIGINAL])+" proxy for transaction "+this.id,g.__transactionProxy=!0,g.__transactionTarget=t.__transactionTarget||t,c.contexts.set(g,r),g}applyGlobalTimeout(t){if(0>=c.globalTimeout)return t;const e=c.globalTimeout,i=this.log.for(this.applyGlobalTimeout);return new Promise((a,s)=>{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)),s(t)},e);t.then(t=>{n=!0,clearTimeout(r),a(t)}).catch(t=>{n=!0,clearTimeout(r),s(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 a.getObjectName(t);const e=t;let i=r.get(e);return i||(i=a.getObjectName(t),r.set(e,i)),i}}class l extends a.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 s}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`),a.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=s,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)=>(a,s,o)=>{if(!o)throw new i.InternalError("This decorator only applies to methods");return e.method()(a,s,o),e.Metadata.set(a.constructor,e.Metadata.key(n.TRANSACTIONAL,s),{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})(),g=d>0?n.slice(d):n,u=h instanceof c?h:c.contextTransaction(i);if(u){const n=new c(a.name,s,async()=>{try{return o(await Reflect.apply(e,n.bindToTransaction(i),g))}catch(t){return r(t)}},t.length?t:void 0);u.bindTransaction(n),u.fire()}else{const n=new c(a.name,s,async()=>{try{return l(n,void 0,await Reflect.apply(e,n.bindToTransaction(i),g))}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/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["Lock","constructor","this","queue","locked","execute","func","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","args","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","data","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/decorators.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["Lock","constructor","this","queue","locked","execute","func","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","args","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","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,method as
|
|
1
|
+
import{Metadata as t,Decoration as e,method as i}from"@decaf-ts/decoration";import{InternalError as n,DBKeys as s}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){let e;await this.acquire();try{e=await Promise.resolve(t())}catch(t){throw this.release(),t}return this.release(),e}async acquire(){const t=this;return t.locked?new Promise(e=>t.queue.push(e)):(t.locked=!0,Promise.resolve())}release(){const t=this.queue.shift();t?void 0===globalThis.window?globalThis.process.nextTick(t):setTimeout(t,0):this.locked=!1}}const h={TRANSACTIONAL:"transactional"};t.transactionals=e=>{const i=t.get(e,"transactional");return i?Object.keys(i):[]},t.isTransactional=e=>!!t.get(e,"transactional");class u extends n{constructor(t="Transaction timed out"){super(t,u.name,500)}}const g=new WeakMap;class d extends a{static{this.debug=!1}static{this.globalTimeout=-1}static{this.metadataCache=new WeakMap}static{this.log=new Proxy(r.for(d),{get:(t,e,i)=>"log"!==e||d.debug?Reflect.get(t,e,i):(...t)=>{}})}get log(){return this._log||(this._log=d.log),this._log}static{this.contexts=new WeakMap}constructor(t,e,i,n){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=n,this.completion=new Promise((t,e)=>{this.resolveCompletion=t,this.rejectCompletion=e})}static async push(t,e,...i){const n=this.log.for(this.push),s=d.describeTarget(t),a=d.describeTarget(e),r=new d(s,a,async()=>{const s=n.for(r.id.toString());try{s.verbose("Executing transaction method "+a),s.debug("With arguments: "+JSON.stringify(i));const n=await Promise.resolve(e.call(r.bindToTransaction(t),...i));return s.verbose(`Transaction method ${a} executed successfully`),s.debug("Result: "+JSON.stringify(n)),await r.release(),s.debug("lock released"),n}catch(t){throw await r.release(t),t}});return n.debug(`Pushing transaction ${r.id} for method ${a} on issuer ${s}`),d.submit(r)}static async run(t,e,i){const n="function"!=typeof t,s=n?t:void 0,a=n?e:t;if("function"!=typeof a)throw Error("Transaction.run requires an async function");const r=n?i:e,o=Array.isArray(r)&&r.length?r:void 0,c=s?d.describeTarget(s):d.describeTarget(a),l=d.describeTarget(a);let h;return h=new d(c,l,async()=>{let t;try{const t=s?h.bindToTransaction(s):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),d.submit(h)}static setLock(t){this.lock=t}static getLock(){return this.lock||(this.lock=new f),this.lock}static submit(t){return d.getLock().submit(t)}static async release(t){return d.getLock().release(t)}async release(t){this.released||(this.released=!0,await d.release(t))}getMetadata(){return this.metadata?[...this.metadata]:void 0}static getTransactionalMetadata(e){let i=this.metadataCache.get(e);if(i)return i;const n=new Set(["__transactionProxy","__transactionTarget","string"==typeof s.ORIGINAL?s.ORIGINAL:"__originalObj"]),a=t.transactionals(e)??[],r=(t.properties(e)||[]).filter(t=>!n.has(t)),o=new Map;return r.forEach(i=>{const n=t.type(e,i);o.set(i,!!n&&t.isTransactional(n))}),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 n=d.getTransactionalMetadata(e.constructor),a=n.methods;if(!a.length)return e;const r=this,c=new Set(["__transactionProxy","__transactionTarget","string"==typeof s.ORIGINAL?s.ORIGINAL:"__originalObj"]),l=new Set(n.propertyKeys);Object.getOwnPropertyNames(e).forEach(t=>{c.has(t)||l.add(t)});const h=Array.from(l).filter(i=>{if(n.propertyDesignTypes.get(i))return!0;const s=e[i];return!(!s||"object"!=typeof s&&"function"!=typeof s||!t.isTransactional(s.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[s.ORIGINAL]=e[s.ORIGINAL]||e,u.toString=()=>o(u[s.ORIGINAL])+" proxy for transaction "+this.id,u.__transactionProxy=!0,u.__transactionTarget=e.__transactionTarget||e,d.contexts.set(u,r),u}applyGlobalTimeout(t){if(0>=d.globalTimeout)return t;const e=d.globalTimeout,i=this.log.for(this.applyGlobalTimeout);return new Promise((n,s)=>{let a=!1;const r=setTimeout(()=>{if(a)return;const t=new u(`Transaction ${this.toString()} exceeded timeout of ${e}ms`);i.warn(t.message),this.release(t).catch(t=>i.error(t)),s(t)},e);t.then(t=>{a=!0,clearTimeout(r),n(t)}).catch(t=>{a=!0,clearTimeout(r),s(t)})})}fire(){if(!this.action)throw Error("Missing the method");const t=(async()=>this.action?await this.action():void 0)(),e=d.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=g.get(e);return i||(i=o(t),g.set(e,i)),i}}class f extends a{get log(){return this._log||(this._log=d.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 T(...s){return e.for("transactional").define({decorator:(...e)=>(s,a,r)=>{if(!r)throw new n("This decorator only applies to methods");return i()(s,a,r),t.set(s.constructor,t.key("transactional",a),{data:e}),r.value=new Proxy(r.value,{apply:async(t,i,n)=>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=n[0],h=(()=>{let t=0;for(;t<n.length&&n[t]instanceof d;)t++;return t})(),u=h>0?n.slice(h):n,g=l instanceof d?l:d.contextTransaction(i);if(g){const n=new d(s.name,a,async()=>{try{return r(await Reflect.apply(t,n.bindToTransaction(i),u))}catch(t){return o(t)}},e.length?e:void 0);g.bindTransaction(n),g.fire()}else{const n=new d(s.name,a,async()=>{try{return c(n,void 0,await Reflect.apply(t,n.bindToTransaction(i),u))}catch(t){return c(n,t)}},e.length?e:void 0);d.submit(n)}})}),r},args:s}).apply()}const p="##VERSION##",y="##PACKAGE##";t.registerLibrary(y,p);export{l as Lock,y as PACKAGE_NAME,f as SynchronousLock,u as TimeoutError,d as Transaction,h as TransactionalKeys,p as VERSION,T as transactional};
|
|
2
2
|
//# sourceMappingURL=transactional-decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactional-decorators.js","sources":["../src/locks/Lock.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],"names":["Lock","constructor","this","queue","locked","execute","func","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","args","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","transactional","data","propertyKey","descriptor","exitFunction","candidate","transactionPrefixLength","count","invocationArgs","slice","activeTransaction","updatedTransaction","newTransaction","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"qOAcaA,EAAb,WAAAC,GACUC,KAAKC,MAAmB,GACxBD,KAAME,QAAG,CAqDlB,CA7CC,aAAMC,CAAQC,GAEZ,IAAIC,QADEL,KAAKM,UAEX,IACED,QAAeE,QAAQC,QAAQJ,IAChC,CAAC,MAAOK,GAEP,MADAT,KAAKU,UACCD,CACP,CAED,OADAT,KAAKU,UACEL,CACR,CAMD,aAAMC,GAEJ,MAAMK,EAAOX,KACb,OAAIW,EAAKT,OACA,IAAIK,QAAeC,GAAYG,EAAKV,MAAMW,KAAKJ,KAEtDG,EAAKT,QAAS,EACPK,QAAQC,UAElB,CAKD,OAAAE,GAEE,MACMG,EADOb,KAC+BC,MAAMa,QAC9CD,OAE6D,IAArDE,WAA0CC,OAElDD,WAAWE,QAAQC,SAASL,GACzBM,WAAWN,EAAM,GAPXb,KASNE,QAAS,CAEjB,ECtDU,MAAAkB,EAA4C,CACvDC,cAAe,iBCXhBC,EAAiBC,eAChBC,IAEA,MAAMC,EAAOH,EAASI,IAAIF,EAAKJ,iBAC/B,OAAKK,EACEE,OAAOC,KAAKH,GADD,EAEpB,EAECH,EAAiBO,gBAA+BL,KACtCF,EAASI,IAAIF,EAAKJ,iBCXvB,MAAOU,UAAqBC,EAChC,WAAAhC,CAAYiC,EAA0B,yBACpCC,MAAMD,EAASF,EAAaI,KAAM,IACnC,ECIH,MAAMC,EAAkB,IAAIC,QA8CtB,MAAOC,UAAuBC,SAC3BtC,KAAKuC,OAAG,CAAM,QACdvC,KAAAwC,eAAiB,CAAE,QACFxC,KAAAyC,cAAgB,IAAIL,OAQxC,QAEWpC,KAAG0C,IAAG,IAAIC,MAAMC,EAAQC,IAAIR,GAAc,CACvDX,IAAG,CAACoB,EAAQC,EAAMC,IACH,QAATD,GAAkBV,EAAYE,MACzBU,QAAQvB,IAAIoB,EAAQC,EAAMC,GAE5B,IAAIE,QAIZ,CAEH,OAAaR,GAIX,OAHK1C,KAAW,OACdA,KAAW,KAAIqC,EAAYK,KAEtB1C,KAAW,IACnB,QAeuBA,KAAAmD,SAAW,IAAIf,OAAoC,CAE3E,WAAArC,CACEqD,EACAC,EACAC,EACAC,GAEAtB,QAZMjC,KAAqBwD,uBAAG,EACxBxD,KAAQyD,UAAG,EAYjBzD,KAAK0D,GAAKC,KAAKC,MACf5D,KAAKsD,OAASA,EACdtD,KAAKqD,OAASA,EACdrD,KAAK6D,KAAO,CAAC,CAAC7D,KAAK0D,GAAIN,EAAQC,GAAQS,KAAK,QAC5C9D,KAAKoD,OAASA,EACdpD,KAAKuD,SAAWA,EAChBvD,KAAK+D,WAAa,IAAIxD,QAAW,CAACC,EAASwD,KACzChE,KAAKiE,kBAAoBzD,EACzBR,KAAKkE,iBAAmBF,GAE3B,CAUD,iBAAapD,CACXuD,EACAd,KACGH,GAEH,MAAMR,EAAM1C,KAAK0C,IAAIG,IAAI7C,KAAKY,MACxBwD,EAAa/B,EAAYgC,eAAeF,GACxCG,EAAajC,EAAYgC,eAAehB,GAExCkB,EAA8B,IAAIlC,EACtC+B,EACAE,EACAE,UACE,MAAMC,EAAI/B,EAAIG,IAAI0B,EAAYb,GAAGgB,YACjC,IACED,EAAEE,QAAQ,gCAAgCL,GAC1CG,EAAElC,MAAM,mBAAmBqC,KAAKC,UAAU3B,IAC1C,MAAM7C,QAAeE,QAAQC,QAC3B6C,EAAOyB,KAAKP,EAAYQ,kBAAkBZ,MAAYjB,IAMxD,OAJAuB,EAAEE,QAAQ,sBAAsBL,2BAChCG,EAAElC,MAAM,WAAWqC,KAAKC,UAAUxE,UAC5BkE,EAAY7D,UAClB+D,EAAElC,MAAM,iBACDlC,CACR,CAAC,MAAOI,GAEP,YADM8D,EAAY7D,QAAQD,GACpBA,CACP,IAML,OAHAiC,EAAIH,MACF,uBAAuBgC,EAAYb,iBAAiBY,eAAwBF,KAEvE/B,EAAY2C,OAAOT,EAC3B,CAWD,gBAAaU,CACXC,EACAC,EACAC,GAEA,MAAMC,EAA+C,mBAAtBH,EACzBI,EAAWD,EAAkBH,OAAoBK,EAGjDC,EACJH,EAAkBF,EAAqBD,EAEzC,GAAwB,mBAAbM,EACT,MAAUC,MAAM,8CAElB,MAAMC,EAAcL,EAAkBD,EAAgBD,EAChDQ,EACJC,MAAMC,QAAQH,IAAgBA,EAAYI,OACtCJ,OACAH,EACAQ,EAAaT,EACfjD,EAAYgC,eAAeiB,GAC3BjD,EAAYgC,eAAemB,GACzBlB,EAAajC,EAAYgC,eAAemB,GAE9C,IAAIjB,EAuBJ,OANAA,EAAc,IAAIlC,EAChB0D,EACAzB,EAlBaE,UACb,IAAIwB,EACJ,IACE,MAAMC,EAAeX,EACjBf,EAAYQ,kBAAkBO,QAC9BC,EACJ,aAAaC,EAASV,KAAMmB,GAAgB1B,EAC7C,CAAC,MAAO2B,GAEP,MADAF,EAAcE,EACRA,CACP,CAAS,cACF3B,EAAY7D,QAChBsF,aAAuBP,MAASO,OAAwBT,EAE3D,GAMDI,GAEKtD,EAAY2C,OAAOT,EAC3B,CAQD,cAAO4B,CAAQC,GACbpG,KAAKoG,KAAOA,CACb,CAOD,cAAOC,GAEL,OADKrG,KAAKoG,OAAMpG,KAAKoG,KAAO,IAAIE,GACzBtG,KAAKoG,IACb,CAQD,aAAOpB,CAAUT,GACf,OAAOlC,EAAYgE,UAAUrB,OAAOT,EACrC,CAQD,oBAAa7D,CAAQ6F,GACnB,OAAOlE,EAAYgE,UAAU3F,QAAQ6F,EACtC,CAQD,aAAM7F,CAAQ6F,GACRvG,KAAKyD,WACTzD,KAAKyD,UAAW,QACVpB,EAAY3B,QAAQ6F,GAC3B,CAOD,WAAAC,GACE,OAAOxG,KAAKuD,SAAW,IAAIvD,KAAKuD,eAAYgC,CAC7C,CAEO,+BAAOkB,CAAyB3D,GACtC,IAAI4D,EAAS1G,KAAKyC,cAAcf,IAAIoB,GACpC,GAAI4D,EAAQ,OAAOA,EACnB,MAAMC,EAAgB,IAAIC,IAAY,CACpC,qBACA,sBAC2B,iBAApBC,EAAOC,SAAwBD,EAAOC,SAAW,kBAEpDC,EAAWzF,EAASC,eAAeuB,IAAwB,GAC3DkE,GAAgB1F,EAAS2F,WAAWnE,IAAW,IAAIoE,OACtDnE,IAAU4D,EAAcQ,IAAIpE,IAEzBqE,EAAsB,IAAIC,IAOhC,OANAL,EAAaM,QAASvE,IACpB,MAAMwE,EAAOjG,EAASiG,KAAKzE,EAAQC,GACnCqE,EAAoBI,IAAIzE,IAAQwE,GAAQjG,EAASO,gBAAgB0F,MAEnEb,EAAS,CAAEK,UAASC,eAAcI,uBAClCpH,KAAKyC,cAAc+E,IAAI1E,EAAQ4D,GACxBA,CACR,CAQD,eAAAe,CAAgBC,GACd1H,KAAK0C,IACFG,IAAI7C,KAAKyH,iBACT9C,QAAQ,eAAe+C,EAAgBhD,iBAAiB1E,QAC3DA,KAAK6D,KAAKjD,QAAQ8G,EAAgB7D,MAClC6D,EAAgBD,gBAAkBzH,KAAK+E,kBAAkB4C,KAAK3H,MAC9D0H,EAAgB3C,kBAAoB/E,KAAK+E,kBAAkB4C,KAAK3H,MAChEA,KAAKsD,OAASoE,EAAgBpE,MAC/B,CAQD,iBAAAyB,CAAkBvD,GAChB,MAAMkB,EAAM1C,KAAK0C,IAAIG,IAAI7C,KAAK+E,mBAC9BrC,EAAIiC,QACF,kBAAkBiD,EAAcpG,qBAAuBxB,KAAK0D,MAE9D,MAAMH,EAAWlB,EAAYoE,yBAAyBjF,EAAIzB,aACpD8H,EAAuBtE,EAASwD,QACtC,IAAKc,EAAqB/B,OAAQ,OAAOtE,EAEzC,MAAMb,EAAOX,KAEP2G,EAAgB,IAAIC,IAAY,CACpC,qBACA,sBAC2B,iBAApBC,EAAOC,SAAwBD,EAAOC,SAAW,kBAEpDgB,EAAQ,IAAIlB,IAAYrD,EAASyD,cACvCrF,OAAOoG,oBAAoBvG,GAAK8F,QAASvE,IAClC4D,EAAcQ,IAAIpE,IAAO+E,EAAME,IAAIjF,KAE1C,MAAMkF,EAA6BrC,MAAMsC,KAAKJ,GAAOZ,OAAQiB,IAC3D,GAAI5E,EAAS6D,oBAAoB1F,IAAIyG,GAAI,OAAO,EAChD,MAAMC,EAAS5G,EAAgC2G,GAC/C,SACEC,GACkB,iBAAVA,GAAuC,mBAAVA,IACrC9G,EAASO,gBAAgBuG,EAAMrI,gBAOnC2C,EAAIH,MACF,8BAA8BsF,EAAqB/D,KAAK,yBAAyBmE,EAAiBnE,KAAK,SAEzG,MAAMuE,EAAW,IAAI1F,MAAMnB,EAAK,CAC9BE,IAAG,CAACoB,EAAQC,EAAMC,IACZ6E,EAAqBS,SAASvF,GACzB,IAAIJ,MAAMG,EAAOC,GAAqC,CAC3DwF,MAAK,CAACC,EAAcC,EAASC,IACpBzF,QAAQsF,MAAMC,EAAcC,EAAS,CAAC9H,KAAS+H,MAIxDT,EAAiBK,SAASvF,GACrBpC,EAAKoE,kBAAkBjC,EAAOC,IAEhCE,QAAQvB,IAAIoB,EAAQC,EAAMC,KAerC,OAXAqF,EAASxB,EAAOC,UACdtF,EAAIqF,EAAOC,WAAatF,EAC1B6G,EAAS3D,SAAW,IAClBkD,EAAcS,EAASxB,EAAOC,WAC9B,0BACA9G,KAAK0D,GACN2E,EAAiBM,oBAAqB,EACtCN,EAAiBO,oBACfpH,EAAYoH,qBAAuBpH,EACtCa,EAAYc,SAASqE,IAAIa,EAAU1H,GAE5B0H,CACR,CAQO,kBAAAQ,CAAmBC,GACzB,GAAiC,GAA7BzG,EAAYG,cAAoB,OAAOsG,EAC3C,MAAMC,EAAY1G,EAAYG,cACxBE,EAAM1C,KAAK0C,IAAIG,IAAI7C,KAAK6I,oBAC9B,OAAO,IAAItI,QAAW,CAACC,EAASwD,KAC9B,IAAIgF,GAAU,EACd,MAAMC,EAAQ9H,WAAW,KACvB,GAAI6H,EAAS,OACb,MAAM9C,EAAQ,IAAIpE,EAChB,eAAe9B,KAAK0E,kCAAkCqE,OAExDrG,EAAIwG,KAAKhD,EAAMlE,SACfhC,KAAKU,QAAQwF,GAAOiD,MAAOC,GACzB1G,EAAIwD,MAAMkD,IAEZpF,EAAOkC,IACN6C,GAEHD,EACGO,KAAMjB,IACLY,GAAU,EACVM,aAAaL,GACbzI,EAAQ4H,KAETe,MAAO5C,IACNyC,GAAU,EACVM,aAAaL,GACbjF,EAAOuC,MAGd,CAOD,IAAAgD,GACE,IAAKvJ,KAAKsD,OAAQ,MAAUmC,MAAM,sBAClC,MAGM+D,EAHgBhF,UACbxE,KAAKsD,aAAetD,KAAKsD,cAAYiC,EAExBkE,GAChBX,EACJzG,EAAYG,cAAgB,EACxBxC,KAAK6I,mBAAmBW,GACxBA,EAaN,OAZKxJ,KAAKwD,wBACRxD,KAAKwD,uBAAwB,EAC7BsF,EACGO,KAAMhJ,IACLL,KAAKiE,oBAAoB5D,GAClBA,IAER8I,MAAO5C,IAEN,MADAvG,KAAKkE,mBAAmBqC,GAClBA,KAGLuC,CACR,CASQ,QAAApE,CAASgF,GAAS,EAAMC,GAAU,GACzC,MAAO,GAAGD,EAAS,IAAI1J,KAAK0D,MAAQ,mBAAmB1D,KAAKoD,UAAUpD,KAAKqD,SACzEsG,EAAU,wBAAwB3J,KAAK6D,KAAKC,KAAK,MAAU,KAE9D,CAED,yBAAO8F,CAAmBtE,GACxB,GAAKA,GAAaA,EAAgBqD,mBAGlC,OAAO3I,KAAKmD,SAASzB,IAAI4D,EAC1B,CAED,IAAAuE,GACE,OAAO7J,KAAK+D,UACb,CAEO,qBAAOM,CAAevB,GAC5B,GACa,OAAXA,GACmB,iBAAXA,GAAyC,mBAAXA,EAEtC,OAAO8E,EAAc9E,GAEvB,MAAMgH,EAAMhH,EACZ,IAAI4D,EAASvE,EAAgBT,IAAIoI,GAKjC,OAJKpD,IACHA,EAASkB,EAAc9E,GACvBX,EAAgBqF,IAAIsC,EAAKpD,IAEpBA,CACR,ECreG,MAAOJ,UAAwBhE,EAKnC,OAAaI,GAIX,OAHK1C,KAAW,OACdA,KAAW,KAAIqC,EAAiB,IAAEQ,IAAI7C,OAEjCA,KAAW,IACnB,CAEO,MAAA+J,CAAO1G,GAOb,OANKrD,KAAKgK,YAAY7C,IAAI9D,IACxBrD,KAAKgK,YAAYxC,IACfnE,EACArD,KAAK0C,IAAIG,IAAK7C,KAAwCqD,KAGnDrD,KAAKgK,YAAYtI,IAAI2B,EAC7B,CAID,WAAAtD,CACUkK,EAAkB,EACTC,EACAC,GAEjBlI,QAJQjC,KAAOiK,QAAPA,EACSjK,KAAOkK,QAAPA,EACAlK,KAAKmK,MAALA,EA1BXnK,KAAmBoK,oBAAuB,GAClDpK,KAAkBqK,wBAAsB9E,EACvBvF,KAAAgK,YAAc,IAAI3C,IAmBlBrH,KAAAoG,KAAO,IAAItG,CAQ3B,CAMD,YAAMkF,CAAUT,GACd,MAAM7B,EAAM1C,KAAK+J,OAAO,UAGxB,SAFM/J,KAAKoG,KAAK9F,UAChBoC,EAAI4H,MAAM,uCAAuC/F,EAAYb,IAE3D1D,KAAKqK,oBACLrK,KAAKqK,mBAAmB3G,KAAOa,EAAYb,GAI3C,OAFA1D,KAAKoG,KAAK1F,UACVgC,EAAI4H,MAAM,4CAA4C/F,EAAYb,IAC3Da,EAAYgF,OAErB,IAAIgB,EAaJ,OAZIvK,KAAKiK,QAAU,GACjBjK,KAAKiK,UACLjK,KAAKoG,KAAK1F,UACVgC,EAAI4H,MAAM,iCAAiC/F,EAAYb,IACvD6G,EAAgBvK,KAAKwK,gBAAgBjG,KAErC7B,EAAIH,MAAM,uBAAuBgC,EAAYb,mBAC7C1D,KAAKoK,oBAAoBxJ,KAAK2D,GAC9BgG,EAAgBhG,EAAYsF,OAC5B7J,KAAKoG,KAAK1F,UACVgC,EAAI4H,MAAM,2CAA2C/F,EAAYb,KAE5D6G,CACR,CAQO,qBAAMC,CAAmBjG,GAC/B,MAAM7B,EAAM1C,KAAK+J,OAAO,mBAaxB,aAZM/J,KAAKoG,KAAK9F,UAChBoC,EAAI4H,MAAM,oCAAoC/F,EAAYb,IAC1D1D,KAAKqK,mBAAqB9F,EAC1BvE,KAAKoG,KAAK1F,UACVgC,EAAI4H,MAAM,iCAAiC/F,EAAYb,IACnD1D,KAAKkK,UACPxH,EAAIiC,QAAQ,mCAAmCJ,EAAYb,UACrD1D,KAAKkK,WAEbxH,EAAI+H,KACF,wBAAwBlG,EAAYb,OAAO1D,KAAKoK,oBAAoBtE,uBAE/DvB,EAAYgF,MACpB,CAID,aAAM7I,CAAQ6F,GACZ,MAAM7D,EAAM1C,KAAK+J,OAAO,iBAElB/J,KAAKoG,KAAK9F,UACXN,KAAKqK,oBACR3H,EAAIwG,KACF,uEAEJxG,EAAIiC,QACF,yBAAyB3E,KAAKqK,oBAAoB3F,UAAS,GAAM,IAEnE,MAAMhB,EAAK1D,KAAKqK,oBAAoB3G,GAapC,GAZA1D,KAAKqK,wBAAqB9E,EAC1BvF,KAAKoG,KAAK1F,UACVgC,EAAI4H,MAAM,4CAA4C5G,GAClD1D,KAAKmK,QACPzH,EAAIiC,QAAQ,iCAAiCjB,SACvC1D,KAAKmK,MAAM5D,UAGbvG,KAAKoG,KAAK9F,UAChBoC,EAAI4H,MACF,8CAA8C5G,0CAE5C1D,KAAKoK,oBAAoBtE,OAAS,EAAG,CACvC,MAAMvB,EAAcvE,KAAKoK,oBAAoBtJ,QAEvC4J,EAAK,IACF1K,KAAKwK,gBAAgB1F,KAAK9E,KAAMuE,GAAa4E,MAAO5C,IACzDvG,KAAK0C,IAAIG,IAAI7C,KAAKwK,iBAAiBtE,MAAMK,KAG7C7D,EAAI4H,MAAM,WAAW/F,EAAYb,oBAC5BiH,IAGHxJ,WAAWuJ,EAAI,GAFf3J,WAAWE,QAAQC,SAASwJ,EAI/B,MACChI,EAAIH,MAAM,kDACVvC,KAAKiK,UAEPjK,KAAKoG,KAAK1F,UACVgC,EAAI4H,MAAM,8CAA8C5G,EACzD,ECjHa,SAAAkH,KAAiBC,GAC/B,MAAO,CAAU/H,EAAagI,EAAmBC,KAC/C,IAAKA,EACH,MAAM,IAAIhJ,EAAc,0CAgG1B,OA/FAsB,IAASP,EAAQgI,EAAaC,GAC9BzJ,EAASkG,IACP1E,EAAO/C,YACPuB,EAASwI,IAAI1I,gBAAiC0J,GAC9C,CACED,KAAMA,IAGVE,EAAW3C,MAAQ,IAAIzF,MAAMoI,EAAW3C,MAAO,CAC7C5D,MAAW,MAAIhD,EAAUiH,EAAcC,IAC9B,IAAInI,QAAW,CAACC,EAASwD,KAC9BQ,eAAewG,EACbzG,EACAgC,EACAlG,GAOA,OALIkG,GAASA,aAAed,OAAWpF,IACrCA,EAASkG,EACTA,OAAMhB,SAEFhB,EAAY7D,QAAQ6F,GACnBA,EACFvC,EAAOuC,GACP/F,EAAQH,EACd,CAED,MAAM4K,EAAYvC,EAAS,GACrBwC,EAA0B,MAC9B,IAAIC,EAAQ,EACZ,KACEA,EAAQzC,EAAS5C,QACjB4C,EAASyC,aAAkB9I,GAE3B8I,IAEF,OAAOA,CACR,EAT+B,GAU1BC,EACJF,EAA0B,EACtBxC,EAAS2C,MAAMH,GACfxC,EAEA4C,EACJL,aAAqB5I,EACjB4I,EACA5I,EAAYuH,mBAAmBnB,GAErC,GAAI6C,EAAmB,CACrB,MAAMC,EAAuC,IAAIlJ,EAC/CS,EAAOZ,KACP4I,EACAtG,UACE,IACE,OAAOhE,QACCyC,QAAQsF,MACZ/G,EACA+J,EAAmBxG,kBAAkB0D,GACrC2C,GAGL,CAAC,MAAO3K,GACP,OAAOuD,EAAOvD,EACf,GAEHoK,EAAK/E,OAAS+E,OAAOtF,GAEvB+F,EAAkB7D,gBAAgB8D,GAClCD,EAAkB/B,MACnB,KAAM,CACL,MAAMiC,EAAiC,IAAInJ,EACzCS,EAAOZ,KACP4I,EACAtG,UACE,IACE,OAAOwG,EACLQ,OACAjG,QACMtC,QAAQsF,MACZ/G,EACAgK,EAAezG,kBAAkB0D,GACjC2C,GAGL,CAAC,MAAO3K,GACP,OAAOuK,EAAaQ,EAAgB/K,EACrC,GAEHoK,EAAK/E,OAAS+E,OAAOtF,GAEvBlD,EAAY2C,OAAOwG,EACpB,MAKAT,CACT,CACF,CCnHO,MAAMU,EAAU,cAEVC,EAAe,cAE5BpK,EAASqK,gBAAgBD,EAAcD"}
|
|
1
|
+
{"version":3,"file":"transactional-decorators.js","sources":["../src/locks/Lock.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],"names":["Lock","constructor","this","queue","locked","execute","func","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","args","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","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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"}
|
package/lib/decorators.cjs
CHANGED
|
@@ -38,68 +38,76 @@ const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
|
38
38
|
* @category Decorators
|
|
39
39
|
*/
|
|
40
40
|
function transactional(...data) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
await transaction.release(err);
|
|
57
|
-
return err
|
|
58
|
-
? reject(err)
|
|
59
|
-
: resolve(result);
|
|
60
|
-
}
|
|
61
|
-
const candidate = argArray[0];
|
|
62
|
-
const transactionPrefixLength = (() => {
|
|
63
|
-
let count = 0;
|
|
64
|
-
while (count < argArray.length &&
|
|
65
|
-
argArray[count] instanceof Transaction_1.Transaction) {
|
|
66
|
-
count++;
|
|
67
|
-
}
|
|
68
|
-
return count;
|
|
69
|
-
})();
|
|
70
|
-
const invocationArgs = transactionPrefixLength > 0
|
|
71
|
-
? argArray.slice(transactionPrefixLength)
|
|
72
|
-
: argArray;
|
|
73
|
-
const activeTransaction = candidate instanceof Transaction_1.Transaction
|
|
74
|
-
? candidate
|
|
75
|
-
: Transaction_1.Transaction.contextTransaction(thisArg);
|
|
76
|
-
if (activeTransaction) {
|
|
77
|
-
const updatedTransaction = new Transaction_1.Transaction(target.name, propertyKey, async () => {
|
|
78
|
-
try {
|
|
79
|
-
return resolve(await Reflect.apply(obj, updatedTransaction.bindToTransaction(thisArg), invocationArgs));
|
|
80
|
-
}
|
|
81
|
-
catch (e) {
|
|
82
|
-
return reject(e);
|
|
83
|
-
}
|
|
84
|
-
}, data.length ? data : undefined);
|
|
85
|
-
activeTransaction.bindTransaction(updatedTransaction);
|
|
86
|
-
activeTransaction.fire();
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
const newTransaction = new Transaction_1.Transaction(target.name, propertyKey, async () => {
|
|
90
|
-
try {
|
|
91
|
-
return exitFunction(newTransaction, undefined, await Reflect.apply(obj, newTransaction.bindToTransaction(thisArg), invocationArgs));
|
|
41
|
+
function innerTransactional(...data) {
|
|
42
|
+
return function (target, propertyKey, descriptor) {
|
|
43
|
+
if (!descriptor)
|
|
44
|
+
throw new db_decorators_1.InternalError("This decorator only applies to methods");
|
|
45
|
+
(0, decoration_1.method)()(target, propertyKey, descriptor);
|
|
46
|
+
decoration_1.Metadata.set(target.constructor, decoration_1.Metadata.key(constants_1.TransactionalKeys.TRANSACTIONAL, propertyKey), {
|
|
47
|
+
data: data,
|
|
48
|
+
});
|
|
49
|
+
descriptor.value = new Proxy(descriptor.value, {
|
|
50
|
+
async apply(obj, thisArg, argArray) {
|
|
51
|
+
return new Promise((resolve, reject) => {
|
|
52
|
+
async function exitFunction(transaction, err, result) {
|
|
53
|
+
if (err && !(err instanceof Error) && !result) {
|
|
54
|
+
result = err;
|
|
55
|
+
err = undefined;
|
|
92
56
|
}
|
|
93
|
-
|
|
94
|
-
|
|
57
|
+
await transaction.release(err);
|
|
58
|
+
return err
|
|
59
|
+
? reject(err)
|
|
60
|
+
: resolve(result);
|
|
61
|
+
}
|
|
62
|
+
const candidate = argArray[0];
|
|
63
|
+
const transactionPrefixLength = (() => {
|
|
64
|
+
let count = 0;
|
|
65
|
+
while (count < argArray.length &&
|
|
66
|
+
argArray[count] instanceof Transaction_1.Transaction) {
|
|
67
|
+
count++;
|
|
95
68
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
69
|
+
return count;
|
|
70
|
+
})();
|
|
71
|
+
const invocationArgs = transactionPrefixLength > 0
|
|
72
|
+
? argArray.slice(transactionPrefixLength)
|
|
73
|
+
: argArray;
|
|
74
|
+
const activeTransaction = candidate instanceof Transaction_1.Transaction
|
|
75
|
+
? candidate
|
|
76
|
+
: Transaction_1.Transaction.contextTransaction(thisArg);
|
|
77
|
+
if (activeTransaction) {
|
|
78
|
+
const updatedTransaction = new Transaction_1.Transaction(target.name, propertyKey, async () => {
|
|
79
|
+
try {
|
|
80
|
+
return resolve(await Reflect.apply(obj, updatedTransaction.bindToTransaction(thisArg), invocationArgs));
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
return reject(e);
|
|
84
|
+
}
|
|
85
|
+
}, data.length ? data : undefined);
|
|
86
|
+
activeTransaction.bindTransaction(updatedTransaction);
|
|
87
|
+
activeTransaction.fire();
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const newTransaction = new Transaction_1.Transaction(target.name, propertyKey, async () => {
|
|
91
|
+
try {
|
|
92
|
+
return exitFunction(newTransaction, undefined, await Reflect.apply(obj, newTransaction.bindToTransaction(thisArg), invocationArgs));
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
return exitFunction(newTransaction, e);
|
|
96
|
+
}
|
|
97
|
+
}, data.length ? data : undefined);
|
|
98
|
+
Transaction_1.Transaction.submit(newTransaction);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
return descriptor;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return decoration_1.Decoration.for(constants_1.TransactionalKeys.TRANSACTIONAL)
|
|
107
|
+
.define({
|
|
108
|
+
decorator: innerTransactional,
|
|
109
|
+
args: data,
|
|
110
|
+
})
|
|
111
|
+
.apply();
|
|
104
112
|
}
|
|
105
113
|
//# sourceMappingURL=decorators.js.map
|
package/lib/decorators.d.ts
CHANGED
|
@@ -30,4 +30,4 @@
|
|
|
30
30
|
* T-->>C: Return result/error
|
|
31
31
|
* @category Decorators
|
|
32
32
|
*/
|
|
33
|
-
export declare function transactional(...data: any[]): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
33
|
+
export declare function transactional(...data: any[]): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;AAqCA,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/decorators.d.ts
CHANGED
|
@@ -30,4 +30,4 @@
|
|
|
30
30
|
* T-->>C: Return result/error
|
|
31
31
|
* @category Decorators
|
|
32
32
|
*/
|
|
33
|
-
export declare function transactional(...data: any[]): (target: any, propertyKey?: any, descriptor?: any) => any;
|
|
33
|
+
export declare function transactional(...data: any[]): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
package/lib/esm/decorators.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TransactionalKeys } from "./constants.js";
|
|
2
|
-
import { Metadata, method } from "@decaf-ts/decoration";
|
|
2
|
+
import { Decoration, Metadata, method } from "@decaf-ts/decoration";
|
|
3
3
|
import { Transaction } from "./Transaction.js";
|
|
4
4
|
import { InternalError } from "@decaf-ts/db-decorators";
|
|
5
5
|
/**
|
|
@@ -35,68 +35,76 @@ import { InternalError } from "@decaf-ts/db-decorators";
|
|
|
35
35
|
* @category Decorators
|
|
36
36
|
*/
|
|
37
37
|
export function transactional(...data) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
await transaction.release(err);
|
|
54
|
-
return err
|
|
55
|
-
? reject(err)
|
|
56
|
-
: resolve(result);
|
|
57
|
-
}
|
|
58
|
-
const candidate = argArray[0];
|
|
59
|
-
const transactionPrefixLength = (() => {
|
|
60
|
-
let count = 0;
|
|
61
|
-
while (count < argArray.length &&
|
|
62
|
-
argArray[count] instanceof Transaction) {
|
|
63
|
-
count++;
|
|
64
|
-
}
|
|
65
|
-
return count;
|
|
66
|
-
})();
|
|
67
|
-
const invocationArgs = transactionPrefixLength > 0
|
|
68
|
-
? argArray.slice(transactionPrefixLength)
|
|
69
|
-
: argArray;
|
|
70
|
-
const activeTransaction = candidate instanceof Transaction
|
|
71
|
-
? candidate
|
|
72
|
-
: Transaction.contextTransaction(thisArg);
|
|
73
|
-
if (activeTransaction) {
|
|
74
|
-
const updatedTransaction = new Transaction(target.name, propertyKey, async () => {
|
|
75
|
-
try {
|
|
76
|
-
return resolve(await Reflect.apply(obj, updatedTransaction.bindToTransaction(thisArg), invocationArgs));
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
79
|
-
return reject(e);
|
|
80
|
-
}
|
|
81
|
-
}, data.length ? data : undefined);
|
|
82
|
-
activeTransaction.bindTransaction(updatedTransaction);
|
|
83
|
-
activeTransaction.fire();
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
const newTransaction = new Transaction(target.name, propertyKey, async () => {
|
|
87
|
-
try {
|
|
88
|
-
return exitFunction(newTransaction, undefined, await Reflect.apply(obj, newTransaction.bindToTransaction(thisArg), invocationArgs));
|
|
38
|
+
function innerTransactional(...data) {
|
|
39
|
+
return function (target, propertyKey, descriptor) {
|
|
40
|
+
if (!descriptor)
|
|
41
|
+
throw new InternalError("This decorator only applies to methods");
|
|
42
|
+
method()(target, propertyKey, descriptor);
|
|
43
|
+
Metadata.set(target.constructor, Metadata.key(TransactionalKeys.TRANSACTIONAL, propertyKey), {
|
|
44
|
+
data: data,
|
|
45
|
+
});
|
|
46
|
+
descriptor.value = new Proxy(descriptor.value, {
|
|
47
|
+
async apply(obj, thisArg, argArray) {
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
async function exitFunction(transaction, err, result) {
|
|
50
|
+
if (err && !(err instanceof Error) && !result) {
|
|
51
|
+
result = err;
|
|
52
|
+
err = undefined;
|
|
89
53
|
}
|
|
90
|
-
|
|
91
|
-
|
|
54
|
+
await transaction.release(err);
|
|
55
|
+
return err
|
|
56
|
+
? reject(err)
|
|
57
|
+
: resolve(result);
|
|
58
|
+
}
|
|
59
|
+
const candidate = argArray[0];
|
|
60
|
+
const transactionPrefixLength = (() => {
|
|
61
|
+
let count = 0;
|
|
62
|
+
while (count < argArray.length &&
|
|
63
|
+
argArray[count] instanceof Transaction) {
|
|
64
|
+
count++;
|
|
92
65
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
66
|
+
return count;
|
|
67
|
+
})();
|
|
68
|
+
const invocationArgs = transactionPrefixLength > 0
|
|
69
|
+
? argArray.slice(transactionPrefixLength)
|
|
70
|
+
: argArray;
|
|
71
|
+
const activeTransaction = candidate instanceof Transaction
|
|
72
|
+
? candidate
|
|
73
|
+
: Transaction.contextTransaction(thisArg);
|
|
74
|
+
if (activeTransaction) {
|
|
75
|
+
const updatedTransaction = new Transaction(target.name, propertyKey, async () => {
|
|
76
|
+
try {
|
|
77
|
+
return resolve(await Reflect.apply(obj, updatedTransaction.bindToTransaction(thisArg), invocationArgs));
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
return reject(e);
|
|
81
|
+
}
|
|
82
|
+
}, data.length ? data : undefined);
|
|
83
|
+
activeTransaction.bindTransaction(updatedTransaction);
|
|
84
|
+
activeTransaction.fire();
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const newTransaction = new Transaction(target.name, propertyKey, async () => {
|
|
88
|
+
try {
|
|
89
|
+
return exitFunction(newTransaction, undefined, await Reflect.apply(obj, newTransaction.bindToTransaction(thisArg), invocationArgs));
|
|
90
|
+
}
|
|
91
|
+
catch (e) {
|
|
92
|
+
return exitFunction(newTransaction, e);
|
|
93
|
+
}
|
|
94
|
+
}, data.length ? data : undefined);
|
|
95
|
+
Transaction.submit(newTransaction);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
return descriptor;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
return Decoration.for(TransactionalKeys.TRANSACTIONAL)
|
|
104
|
+
.define({
|
|
105
|
+
decorator: innerTransactional,
|
|
106
|
+
args: data,
|
|
107
|
+
})
|
|
108
|
+
.apply();
|
|
101
109
|
}
|
|
102
110
|
//# sourceMappingURL=decorators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAoB;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,uBAAoB;AAChD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,aAAa,CAAC,GAAG,IAAW;IAC1C,SAAS,kBAAkB,CAAC,GAAG,IAAW;QACxC,OAAO,UAAU,MAAW,EAAE,WAAiB,EAAE,UAAgB;YAC/D,IAAI,CAAC,UAAU;gBACb,MAAM,IAAI,aAAa,CAAC,wCAAwC,CAAC,CAAC;YACpE,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAC1C,QAAQ,CAAC,GAAG,CACV,MAAM,CAAC,WAAW,EAClB,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,EAAE,WAAW,CAAC,EAC1D;gBACE,IAAI,EAAE,IAAI;aACX,CACF,CAAC;YACF,UAAU,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE;gBAC7C,KAAK,CAAC,KAAK,CAAI,GAAQ,EAAE,OAAY,EAAE,QAAe;oBACpD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACxC,KAAK,UAAU,YAAY,CACzB,WAA2B,EAC3B,GAAe,EACf,MAAU;4BAEV,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gCAC9C,MAAM,GAAG,GAAG,CAAC;gCACb,GAAG,GAAG,SAAS,CAAC;4BAClB,CAAC;4BACD,MAAM,WAAW,CAAC,OAAO,CAAC,GAAwB,CAAC,CAAC;4BACpD,OAAO,GAAG;gCACR,CAAC,CAAE,MAAM,CAAC,GAAG,CAAkB;gCAC/B,CAAC,CAAE,OAAO,CAAC,MAAW,CAAkB,CAAC;wBAC7C,CAAC;wBAED,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC9B,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE;4BACpC,IAAI,KAAK,GAAG,CAAC,CAAC;4BACd,OACE,KAAK,GAAG,QAAQ,CAAC,MAAM;gCACvB,QAAQ,CAAC,KAAK,CAAC,YAAY,WAAW,EACtC,CAAC;gCACD,KAAK,EAAE,CAAC;4BACV,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC,CAAC,EAAE,CAAC;wBACL,MAAM,cAAc,GAClB,uBAAuB,GAAG,CAAC;4BACzB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC;4BACzC,CAAC,CAAC,QAAQ,CAAC;wBAEf,MAAM,iBAAiB,GACrB,SAAS,YAAY,WAAW;4BAC9B,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;wBAE9C,IAAI,iBAAiB,EAAE,CAAC;4BACtB,MAAM,kBAAkB,GAAqB,IAAI,WAAW,CAC1D,MAAM,CAAC,IAAI,EACX,WAAW,EACX,KAAK,IAAI,EAAE;gCACT,IAAI,CAAC;oCACH,OAAO,OAAO,CACZ,MAAM,OAAO,CAAC,KAAK,CACjB,GAAG,EACH,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAC7C,cAAc,CACf,CACF,CAAC;gCACJ,CAAC;gCAAC,OAAO,CAAU,EAAE,CAAC;oCACpB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;gCACnB,CAAC;4BACH,CAAC,EACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAC/B,CAAC;4BACF,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;4BACtD,iBAAiB,CAAC,IAAI,EAAE,CAAC;wBAC3B,CAAC;6BAAM,CAAC;4BACN,MAAM,cAAc,GAAmB,IAAI,WAAW,CACpD,MAAM,CAAC,IAAI,EACX,WAAW,EACX,KAAK,IAAI,EAAE;gCACT,IAAI,CAAC;oCACH,OAAO,YAAY,CACjB,cAAc,EACd,SAAS,EACT,MAAM,OAAO,CAAC,KAAK,CACjB,GAAG,EACH,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,EACzC,cAAc,CACf,CACF,CAAC;gCACJ,CAAC;gCAAC,OAAO,CAAU,EAAE,CAAC;oCACpB,OAAO,YAAY,CAAC,cAAc,EAAE,CAAU,CAAC,CAAC;gCAClD,CAAC;4BACH,CAAC,EACD,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAC/B,CAAC;4BACF,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,aAAa,CAAC;SACnD,MAAM,CAAC;QACN,SAAS,EAAE,kBAAkB;QAC7B,IAAI,EAAE,IAAI;KACX,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.js
CHANGED
|
@@ -18,7 +18,7 @@ export * from "./types.js";
|
|
|
18
18
|
* @const VERSION
|
|
19
19
|
* @memberOf module:transactions
|
|
20
20
|
*/
|
|
21
|
-
export const VERSION = "0.1
|
|
21
|
+
export const VERSION = "0.2.1";
|
|
22
22
|
export const PACKAGE_NAME = "@decaf-ts/transactional-decorators";
|
|
23
23
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
24
24
|
//# sourceMappingURL=index.js.map
|
package/lib/index.cjs
CHANGED
|
@@ -35,7 +35,7 @@ __exportStar(require("./types.cjs"), exports);
|
|
|
35
35
|
* @const VERSION
|
|
36
36
|
* @memberOf module:transactions
|
|
37
37
|
*/
|
|
38
|
-
exports.VERSION = "0.1
|
|
38
|
+
exports.VERSION = "0.2.1";
|
|
39
39
|
exports.PACKAGE_NAME = "@decaf-ts/transactional-decorators";
|
|
40
40
|
decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
|
|
41
41
|
//# sourceMappingURL=index.js.map
|
package/lib/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decaf-ts/transactional-decorators",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "Locking and transactions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -76,11 +76,10 @@
|
|
|
76
76
|
"@decaf-ts/logging": "latest",
|
|
77
77
|
"@decaf-ts/utils": "latest"
|
|
78
78
|
},
|
|
79
|
-
"
|
|
79
|
+
"dependencies": {
|
|
80
80
|
"@decaf-ts/db-decorators": "latest",
|
|
81
81
|
"@decaf-ts/decoration": "latest",
|
|
82
82
|
"@decaf-ts/decorator-validation": "latest",
|
|
83
|
-
"@decaf-ts/injectable-decorators": "latest"
|
|
84
|
-
"reflect-metadata": "^0.2.1"
|
|
83
|
+
"@decaf-ts/injectable-decorators": "latest"
|
|
85
84
|
}
|
|
86
85
|
}
|