@ts-transactional/core 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -12,10 +12,11 @@ export declare class TransactionManager {
|
|
|
12
12
|
static addDataSource(dataSource: DataSourceObject): void;
|
|
13
13
|
static getDataSource(dataSourceKey?: any): DataSourceObject;
|
|
14
14
|
static getAsyncLocalStorageTransactionStore(): TransactionalStore;
|
|
15
|
+
static exec<const F extends (...args: any[]) => Promise<any>>(method: F, transactionOptions?: TransactionalOptions): Promise<any>;
|
|
15
16
|
static execTransaction({ transactionOptions, targetMethodInfo, }: {
|
|
16
|
-
transactionOptions
|
|
17
|
+
transactionOptions?: TransactionalOptions;
|
|
17
18
|
targetMethodInfo: {
|
|
18
|
-
this
|
|
19
|
+
this?: any;
|
|
19
20
|
method: (...args: any[]) => Promise<any>;
|
|
20
21
|
methodArgs?: any[];
|
|
21
22
|
};
|
|
@@ -57,7 +57,15 @@ class TransactionManager {
|
|
|
57
57
|
const store = Object.assign({}, this.asyncLocalStorage.getStore() || {});
|
|
58
58
|
return store;
|
|
59
59
|
}
|
|
60
|
-
static async
|
|
60
|
+
static async exec(method, transactionOptions) {
|
|
61
|
+
return this.execTransaction({
|
|
62
|
+
transactionOptions: transactionOptions,
|
|
63
|
+
targetMethodInfo: {
|
|
64
|
+
method: method,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
static async execTransaction({ transactionOptions = {}, targetMethodInfo, }) {
|
|
61
69
|
const { propagation = this.defaultTransactionOptions.propagation || transaction_types_1.Propagation.SUPPORTS, readOnly, autocommit, isolationLevel, dataSourceKey, } = transactionOptions;
|
|
62
70
|
const store = TransactionManager.getAsyncLocalStorageTransactionStore();
|
|
63
71
|
const dataSource = TransactionManager.getDataSource(dataSourceKey);
|
|
@@ -108,7 +116,9 @@ class TransactionManager {
|
|
|
108
116
|
}
|
|
109
117
|
return this.asyncLocalStorage.run(store, async () => {
|
|
110
118
|
try {
|
|
111
|
-
const result =
|
|
119
|
+
const result = targetMethodInfo.this
|
|
120
|
+
? await targetMethodInfo.method.apply(targetMethodInfo.this, targetMethodInfo.methodArgs || [])
|
|
121
|
+
: await targetMethodInfo.method(...(targetMethodInfo.methodArgs || []));
|
|
112
122
|
if (isNewTransaction) {
|
|
113
123
|
console.log('commit', store.transactionID, !!store.transaction);
|
|
114
124
|
await store.adapter?.commit(store.transaction);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.manager.js","sourceRoot":"","sources":["../../src/manager/transaction.manager.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAG/C,qEAAmG;AACnG,kEAAoH;AAGpH,MAAa,kBAAkB;IACrB,MAAM,CAAC,yBAAyB,GAAkC;QACxE,WAAW,EAAE,+BAAW,CAAC,QAAQ;KAClC,CAAA;IAEO,MAAM,CAAC,iBAAiB,GAAG,IAAI,+BAAiB,EAAsB,CAAA;IACtE,MAAM,CAAC,QAAQ,GAAsC,IAAI,GAAG,EAAE,CAAA;IAE9D,MAAM,CAAC,YAAY,GAA+B,IAAI,GAAG,EAAE,CAAA;IAC3D,MAAM,CAAC,kBAAkB,CAAkB;IAE5C,MAAM,KAAK,WAAW;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAEM,MAAM,KAAK,iBAAiB;QACjC,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAChC,CAAC;IACO,MAAM,KAAK,iBAAiB,CAAC,UAA4B;QAC/D,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAA;IACtC,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,aAAkB;QAChD,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAA;aAC1B,IAAI,OAAO,aAAa,KAAK,QAAQ;YAAE,OAAO,aAAa,CAAA;aAC3D,CAAC;YACJ,IAAI,aAAa,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC3C,OAAO,aAAa,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,aAAa,EAAE,WAAW,IAAI,aAAa,CAAA;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAA4B;QAC/C,UAAU,CAAC,GAAG,KAAK,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;QAG7E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAClD,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAA;QACrC,CAAC;QAED,IAAI,UAAU,EAAE,kBAAkB,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,aAAmB;QACtC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA;QAEpD,MAAM,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QAEhG,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,4CAAuB,EAAE,CAAA;QACrC,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,oCAAoC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QACxE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EAC3B,kBAAkB,
|
|
1
|
+
{"version":3,"file":"transaction.manager.js","sourceRoot":"","sources":["../../src/manager/transaction.manager.ts"],"names":[],"mappings":"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"}
|