nestjs-typeorm3-kit 0.1.7 → 0.2.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/LICENSE +21 -0
- package/README.md +803 -162
- package/dist/common/decorator/index.d.ts.map +1 -1
- package/dist/common/decorator/index.js +1 -5
- package/dist/common/decorator/index.js.map +1 -1
- package/dist/controller/decorator/index.d.ts.map +1 -1
- package/dist/controller/decorator/index.js +66 -117
- package/dist/controller/decorator/index.js.map +1 -1
- package/dist/helpers/index.d.ts +4 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +81 -11
- package/dist/helpers/index.js.map +1 -1
- package/dist/module/decorator/index.d.ts +1 -1
- package/dist/module/decorator/index.d.ts.map +1 -1
- package/dist/module/decorator/index.js +188 -19
- package/dist/module/decorator/index.js.map +1 -1
- package/dist/repository/config/constants.d.ts +1 -0
- package/dist/repository/config/constants.d.ts.map +1 -1
- package/dist/repository/config/constants.js +2 -1
- package/dist/repository/config/constants.js.map +1 -1
- package/dist/repository/config/types.d.ts +2 -2
- package/dist/repository/config/types.d.ts.map +1 -1
- package/dist/repository/config/types.js +34 -5
- package/dist/repository/config/types.js.map +1 -1
- package/dist/repository/config/utils.d.ts +1 -1
- package/dist/repository/config/utils.d.ts.map +1 -1
- package/dist/repository/config/utils.js +12 -13
- package/dist/repository/config/utils.js.map +1 -1
- package/dist/repository/decorator/index.d.ts +2 -2
- package/dist/repository/decorator/index.d.ts.map +1 -1
- package/dist/repository/decorator/index.js +1 -1
- package/dist/repository/decorator/index.js.map +1 -1
- package/dist/repository/module/index.d.ts +2 -5
- package/dist/repository/module/index.d.ts.map +1 -1
- package/dist/repository/module/index.js +23 -87
- package/dist/repository/module/index.js.map +1 -1
- package/dist/transaction/decorator/index.d.ts +5 -3
- package/dist/transaction/decorator/index.d.ts.map +1 -1
- package/dist/transaction/decorator/index.js +20 -19
- package/dist/transaction/decorator/index.js.map +1 -1
- package/dist/transaction/setup/index.d.ts +8 -3
- package/dist/transaction/setup/index.d.ts.map +1 -1
- package/dist/transaction/setup/index.js +19 -5
- package/dist/transaction/setup/index.js.map +1 -1
- package/dist/validate/decorator/index.d.ts.map +1 -1
- package/dist/validate/decorator/index.js +6 -4
- package/dist/validate/decorator/index.js.map +1 -1
- package/dist/vendor/transactional/common/constants.d.ts +6 -0
- package/dist/vendor/transactional/common/constants.d.ts.map +1 -0
- package/dist/vendor/transactional/common/constants.js +9 -0
- package/dist/vendor/transactional/common/constants.js.map +1 -0
- package/dist/vendor/transactional/common/index.d.ts +26 -0
- package/dist/vendor/transactional/common/index.d.ts.map +1 -0
- package/dist/vendor/transactional/common/index.js +136 -0
- package/dist/vendor/transactional/common/index.js.map +1 -0
- package/dist/vendor/transactional/decorators/transactional.d.ts +3 -0
- package/dist/vendor/transactional/decorators/transactional.d.ts.map +1 -0
- package/dist/vendor/transactional/decorators/transactional.js +20 -0
- package/dist/vendor/transactional/decorators/transactional.js.map +1 -0
- package/dist/vendor/transactional/enums/isolation-level.d.ts +7 -0
- package/dist/vendor/transactional/enums/isolation-level.d.ts.map +1 -0
- package/dist/vendor/transactional/enums/isolation-level.js +11 -0
- package/dist/vendor/transactional/enums/isolation-level.js.map +1 -0
- package/dist/vendor/transactional/enums/propagation.d.ts +10 -0
- package/dist/vendor/transactional/enums/propagation.d.ts.map +1 -0
- package/dist/vendor/transactional/enums/propagation.js +14 -0
- package/dist/vendor/transactional/enums/propagation.js.map +1 -0
- package/dist/vendor/transactional/enums/storage-driver.d.ts +5 -0
- package/dist/vendor/transactional/enums/storage-driver.d.ts.map +1 -0
- package/dist/vendor/transactional/enums/storage-driver.js +9 -0
- package/dist/vendor/transactional/enums/storage-driver.js.map +1 -0
- package/dist/vendor/transactional/errors/transactional.d.ts +4 -0
- package/dist/vendor/transactional/errors/transactional.d.ts.map +1 -0
- package/dist/vendor/transactional/errors/transactional.js +11 -0
- package/dist/vendor/transactional/errors/transactional.js.map +1 -0
- package/dist/vendor/transactional/errors/typeorm-updated-patch.d.ts +5 -0
- package/dist/vendor/transactional/errors/typeorm-updated-patch.d.ts.map +1 -0
- package/dist/vendor/transactional/errors/typeorm-updated-patch.js +11 -0
- package/dist/vendor/transactional/errors/typeorm-updated-patch.js.map +1 -0
- package/dist/vendor/transactional/hooks/index.d.ts +11 -0
- package/dist/vendor/transactional/hooks/index.d.ts.map +1 -0
- package/dist/vendor/transactional/hooks/index.js +79 -0
- package/dist/vendor/transactional/hooks/index.js.map +1 -0
- package/dist/vendor/transactional/index.d.ts +10 -0
- package/dist/vendor/transactional/index.d.ts.map +1 -0
- package/dist/vendor/transactional/index.js +27 -0
- package/dist/vendor/transactional/index.js.map +1 -0
- package/dist/vendor/transactional/storage/driver/async-local-storage/index.d.ts +9 -0
- package/dist/vendor/transactional/storage/driver/async-local-storage/index.d.ts.map +1 -0
- package/dist/vendor/transactional/storage/driver/async-local-storage/index.js +25 -0
- package/dist/vendor/transactional/storage/driver/async-local-storage/index.js.map +1 -0
- package/dist/vendor/transactional/storage/driver/interface.d.ts +10 -0
- package/dist/vendor/transactional/storage/driver/interface.d.ts.map +1 -0
- package/dist/vendor/transactional/storage/driver/interface.js +3 -0
- package/dist/vendor/transactional/storage/driver/interface.js.map +1 -0
- package/dist/vendor/transactional/storage/index.d.ts +3 -0
- package/dist/vendor/transactional/storage/index.d.ts.map +1 -0
- package/dist/vendor/transactional/storage/index.js +6 -0
- package/dist/vendor/transactional/storage/index.js.map +1 -0
- package/dist/vendor/transactional/storage/storage.d.ts +7 -0
- package/dist/vendor/transactional/storage/storage.d.ts.map +1 -0
- package/dist/vendor/transactional/storage/storage.js +21 -0
- package/dist/vendor/transactional/storage/storage.js.map +1 -0
- package/dist/vendor/transactional/transactions/nested-scope.d.ts +12 -0
- package/dist/vendor/transactional/transactions/nested-scope.d.ts.map +1 -0
- package/dist/vendor/transactional/transactions/nested-scope.js +42 -0
- package/dist/vendor/transactional/transactions/nested-scope.js.map +1 -0
- package/dist/vendor/transactional/transactions/run-in-transaction.d.ts +3 -0
- package/dist/vendor/transactional/transactions/run-in-transaction.d.ts.map +1 -0
- package/dist/vendor/transactional/transactions/run-in-transaction.js +9 -0
- package/dist/vendor/transactional/transactions/run-in-transaction.js.map +1 -0
- package/dist/vendor/transactional/transactions/wrap-in-transaction.d.ts +11 -0
- package/dist/vendor/transactional/transactions/wrap-in-transaction.d.ts.map +1 -0
- package/dist/vendor/transactional/transactions/wrap-in-transaction.js +109 -0
- package/dist/vendor/transactional/transactions/wrap-in-transaction.js.map +1 -0
- package/dist/vendor/transactional/utils/index.d.ts +3 -0
- package/dist/vendor/transactional/utils/index.d.ts.map +1 -0
- package/dist/vendor/transactional/utils/index.js +12 -0
- package/dist/vendor/transactional/utils/index.js.map +1 -0
- package/package.json +28 -25
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsolationLevel = void 0;
|
|
4
|
+
var IsolationLevel;
|
|
5
|
+
(function (IsolationLevel) {
|
|
6
|
+
IsolationLevel["READ_UNCOMMITTED"] = "READ UNCOMMITTED";
|
|
7
|
+
IsolationLevel["READ_COMMITTED"] = "READ COMMITTED";
|
|
8
|
+
IsolationLevel["REPEATABLE_READ"] = "REPEATABLE READ";
|
|
9
|
+
IsolationLevel["SERIALIZABLE"] = "SERIALIZABLE";
|
|
10
|
+
})(IsolationLevel || (exports.IsolationLevel = IsolationLevel = {}));
|
|
11
|
+
//# sourceMappingURL=isolation-level.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isolation-level.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/enums/isolation-level.ts"],"names":[],"mappings":";;;AAGA,IAAY,cAiBX;AAjBD,WAAY,cAAc;IAIxB,uDAAqC,CAAA;IAIrC,mDAAiC,CAAA;IAIjC,qDAAmC,CAAA;IAInC,+CAA6B,CAAA;AAC/B,CAAC,EAjBW,cAAc,8BAAd,cAAc,QAiBzB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare enum Propagation {
|
|
2
|
+
MANDATORY = "MANDATORY",
|
|
3
|
+
NESTED = "NESTED",
|
|
4
|
+
NEVER = "NEVER",
|
|
5
|
+
NOT_SUPPORTED = "NOT_SUPPORTED",
|
|
6
|
+
REQUIRED = "REQUIRED",
|
|
7
|
+
REQUIRES_NEW = "REQUIRES_NEW",
|
|
8
|
+
SUPPORTS = "SUPPORTS"
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=propagation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propagation.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/enums/propagation.ts"],"names":[],"mappings":"AAGA,oBAAY,WAAW;IAIrB,SAAS,cAAc;IAIvB,MAAM,WAAW;IAIjB,KAAK,UAAU;IAIf,aAAa,kBAAkB;IAI/B,QAAQ,aAAa;IAIrB,YAAY,iBAAiB;IAI7B,QAAQ,aAAa;CACtB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Propagation = void 0;
|
|
4
|
+
var Propagation;
|
|
5
|
+
(function (Propagation) {
|
|
6
|
+
Propagation["MANDATORY"] = "MANDATORY";
|
|
7
|
+
Propagation["NESTED"] = "NESTED";
|
|
8
|
+
Propagation["NEVER"] = "NEVER";
|
|
9
|
+
Propagation["NOT_SUPPORTED"] = "NOT_SUPPORTED";
|
|
10
|
+
Propagation["REQUIRED"] = "REQUIRED";
|
|
11
|
+
Propagation["REQUIRES_NEW"] = "REQUIRES_NEW";
|
|
12
|
+
Propagation["SUPPORTS"] = "SUPPORTS";
|
|
13
|
+
})(Propagation || (exports.Propagation = Propagation = {}));
|
|
14
|
+
//# sourceMappingURL=propagation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"propagation.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/enums/propagation.ts"],"names":[],"mappings":";;;AAGA,IAAY,WA6BX;AA7BD,WAAY,WAAW;IAIrB,sCAAuB,CAAA;IAIvB,gCAAiB,CAAA;IAIjB,8BAAe,CAAA;IAIf,8CAA+B,CAAA;IAI/B,oCAAqB,CAAA;IAIrB,4CAA6B,CAAA;IAI7B,oCAAqB,CAAA;AACvB,CAAC,EA7BW,WAAW,2BAAX,WAAW,QA6BtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-driver.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/enums/storage-driver.ts"],"names":[],"mappings":"AAQA,oBAAY,aAAa;IAKvB,IAAI,SAAS;IAKb,mBAAmB,wBAAwB;CAC5C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StorageDriver = void 0;
|
|
4
|
+
var StorageDriver;
|
|
5
|
+
(function (StorageDriver) {
|
|
6
|
+
StorageDriver["AUTO"] = "AUTO";
|
|
7
|
+
StorageDriver["ASYNC_LOCAL_STORAGE"] = "ASYNC_LOCAL_STORAGE";
|
|
8
|
+
})(StorageDriver || (exports.StorageDriver = StorageDriver = {}));
|
|
9
|
+
//# sourceMappingURL=storage-driver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-driver.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/enums/storage-driver.ts"],"names":[],"mappings":";;;AAQA,IAAY,aAWX;AAXD,WAAY,aAAa;IAKvB,8BAAa,CAAA;IAKb,4DAA2C,CAAA;AAC7C,CAAC,EAXW,aAAa,6BAAb,aAAa,QAWxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactional.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/errors/transactional.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAmB,SAAQ,KAAK;IACpC,IAAI,SAAwB;CACpC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionalError = void 0;
|
|
4
|
+
class TransactionalError extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.name = 'TransactionalError';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.TransactionalError = TransactionalError;
|
|
11
|
+
//# sourceMappingURL=transactional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transactional.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/errors/transactional.ts"],"names":[],"mappings":";;;AAAA,MAAa,kBAAmB,SAAQ,KAAK;IAA7C;;QACS,SAAI,GAAG,oBAAoB,CAAC;IACrC,CAAC;CAAA;AAFD,gDAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeorm-updated-patch.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/errors/typeorm-updated-patch.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAyB,SAAQ,KAAK;IAC1C,IAAI,SAA8B;;CAO1C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TypeOrmUpdatedPatchError = void 0;
|
|
4
|
+
class TypeOrmUpdatedPatchError extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super('It seems that TypeORM was updated. Patching "DataSource" is not safe. If you want to try to use the library, set the "patch" flag in the function "addTransactionalDataSource" to "false".');
|
|
7
|
+
this.name = 'TypeOrmUpdatedPatchError';
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.TypeOrmUpdatedPatchError = TypeOrmUpdatedPatchError;
|
|
11
|
+
//# sourceMappingURL=typeorm-updated-patch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeorm-updated-patch.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/errors/typeorm-updated-patch.ts"],"names":[],"mappings":";;;AAAA,MAAa,wBAAyB,SAAQ,KAAK;IAGjD;QACE,KAAK,CACH,4LAA4L,CAC7L,CAAC;QALG,SAAI,GAAG,0BAA0B,CAAC;IAMzC,CAAC;CACF;AARD,4DAQC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { DataSourceName } from '../common';
|
|
3
|
+
import { StorageDriver } from '../storage/driver/interface';
|
|
4
|
+
export declare const getTransactionalContextHook: () => EventEmitter<[never]>;
|
|
5
|
+
export declare const runAndTriggerHooks: (hook: EventEmitter, cb: () => unknown, parentHook?: EventEmitter) => Promise<unknown>;
|
|
6
|
+
export declare const createEventEmitterInNewContext: (context: StorageDriver) => EventEmitter<[never]>;
|
|
7
|
+
export declare const runInNewHookContext: (context: StorageDriver, cb: () => unknown, parentHook?: EventEmitter, dataSourceName?: DataSourceName) => Promise<unknown>;
|
|
8
|
+
export declare const runOnTransactionCommit: (cb: () => void) => void;
|
|
9
|
+
export declare const runOnTransactionRollback: (cb: (e: Error) => void) => void;
|
|
10
|
+
export declare const runOnTransactionComplete: (cb: (e: Error | undefined) => void) => void;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAML,cAAc,EACf,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,eAAO,MAAM,2BAA2B,6BASvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,MAAM,YAAY,EAClB,IAAI,MAAM,OAAO,EACjB,aAAa,YAAY,qBAqC1B,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,SAAS,aAAa,0BAMpE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,SAAS,aAAa,EACtB,IAAI,MAAM,OAAO,EACjB,aAAa,YAAY,EACzB,iBAAiB,cAAc,qBAYhC,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,IAAI,MAAM,IAAI,SAEpD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,IAAI,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,SAE9D,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,SAE1E,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runOnTransactionComplete = exports.runOnTransactionRollback = exports.runOnTransactionCommit = exports.runInNewHookContext = exports.createEventEmitterInNewContext = exports.runAndTriggerHooks = exports.getTransactionalContextHook = void 0;
|
|
4
|
+
const events_1 = require("events");
|
|
5
|
+
const common_1 = require("../common");
|
|
6
|
+
const getTransactionalContextHook = () => {
|
|
7
|
+
const context = (0, common_1.getTransactionalContext)();
|
|
8
|
+
const emitter = (0, common_1.getHookInContext)(context);
|
|
9
|
+
if (!emitter) {
|
|
10
|
+
throw new Error('No hook manager found in context. Are you using @Transactional()?');
|
|
11
|
+
}
|
|
12
|
+
return emitter;
|
|
13
|
+
};
|
|
14
|
+
exports.getTransactionalContextHook = getTransactionalContextHook;
|
|
15
|
+
const runAndTriggerHooks = async (hook, cb, parentHook) => {
|
|
16
|
+
try {
|
|
17
|
+
const result = await Promise.resolve(cb());
|
|
18
|
+
if (parentHook) {
|
|
19
|
+
parentHook.once('commit', () => {
|
|
20
|
+
hook.emit('commit');
|
|
21
|
+
hook.emit('end', undefined);
|
|
22
|
+
hook.removeAllListeners();
|
|
23
|
+
});
|
|
24
|
+
parentHook.once('rollback', (err) => {
|
|
25
|
+
hook.emit('rollback', err);
|
|
26
|
+
hook.emit('end', err);
|
|
27
|
+
hook.removeAllListeners();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
setImmediate(() => {
|
|
32
|
+
hook.emit('commit');
|
|
33
|
+
hook.emit('end', undefined);
|
|
34
|
+
hook.removeAllListeners();
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
setImmediate(() => {
|
|
41
|
+
hook.emit('rollback', err);
|
|
42
|
+
hook.emit('end', err);
|
|
43
|
+
hook.removeAllListeners();
|
|
44
|
+
});
|
|
45
|
+
throw err;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.runAndTriggerHooks = runAndTriggerHooks;
|
|
49
|
+
const createEventEmitterInNewContext = (context) => {
|
|
50
|
+
const options = (0, common_1.getTransactionalOptions)();
|
|
51
|
+
const emitter = new events_1.EventEmitter();
|
|
52
|
+
emitter.setMaxListeners(options.maxHookHandlers);
|
|
53
|
+
return emitter;
|
|
54
|
+
};
|
|
55
|
+
exports.createEventEmitterInNewContext = createEventEmitterInNewContext;
|
|
56
|
+
const runInNewHookContext = async (context, cb, parentHook, dataSourceName) => {
|
|
57
|
+
const hook = (0, exports.createEventEmitterInNewContext)(context);
|
|
58
|
+
return await context.run(() => {
|
|
59
|
+
(0, common_1.setHookInContext)(context, hook);
|
|
60
|
+
if (dataSourceName !== undefined) {
|
|
61
|
+
(0, common_1.setHookByDataSourceName)(context, dataSourceName, hook);
|
|
62
|
+
}
|
|
63
|
+
return (0, exports.runAndTriggerHooks)(hook, cb, parentHook);
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
exports.runInNewHookContext = runInNewHookContext;
|
|
67
|
+
const runOnTransactionCommit = (cb) => {
|
|
68
|
+
(0, exports.getTransactionalContextHook)().once('commit', cb);
|
|
69
|
+
};
|
|
70
|
+
exports.runOnTransactionCommit = runOnTransactionCommit;
|
|
71
|
+
const runOnTransactionRollback = (cb) => {
|
|
72
|
+
(0, exports.getTransactionalContextHook)().once('rollback', cb);
|
|
73
|
+
};
|
|
74
|
+
exports.runOnTransactionRollback = runOnTransactionRollback;
|
|
75
|
+
const runOnTransactionComplete = (cb) => {
|
|
76
|
+
(0, exports.getTransactionalContextHook)().once('end', cb);
|
|
77
|
+
};
|
|
78
|
+
exports.runOnTransactionComplete = runOnTransactionComplete;
|
|
79
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/hooks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { initializeTransactionalContext, addTransactionalDataSource, getDataSourceByName, deleteDataSourceByName, } from './common';
|
|
2
|
+
export { runOnTransactionCommit, runOnTransactionRollback, runOnTransactionComplete, } from './hooks';
|
|
3
|
+
export { Transactional } from './decorators/transactional';
|
|
4
|
+
export { StorageDriver } from './enums/storage-driver';
|
|
5
|
+
export { Propagation } from './enums/propagation';
|
|
6
|
+
export { IsolationLevel } from './enums/isolation-level';
|
|
7
|
+
export { runInTransaction } from './transactions/run-in-transaction';
|
|
8
|
+
export { wrapInTransaction, WrapInTransactionOptions } from './transactions/wrap-in-transaction';
|
|
9
|
+
export { TransactionalError } from './errors/transactional';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/vendor/transactional/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionalError = exports.wrapInTransaction = exports.runInTransaction = exports.IsolationLevel = exports.Propagation = exports.StorageDriver = exports.Transactional = exports.runOnTransactionComplete = exports.runOnTransactionRollback = exports.runOnTransactionCommit = exports.deleteDataSourceByName = exports.getDataSourceByName = exports.addTransactionalDataSource = exports.initializeTransactionalContext = void 0;
|
|
4
|
+
var common_1 = require("./common");
|
|
5
|
+
Object.defineProperty(exports, "initializeTransactionalContext", { enumerable: true, get: function () { return common_1.initializeTransactionalContext; } });
|
|
6
|
+
Object.defineProperty(exports, "addTransactionalDataSource", { enumerable: true, get: function () { return common_1.addTransactionalDataSource; } });
|
|
7
|
+
Object.defineProperty(exports, "getDataSourceByName", { enumerable: true, get: function () { return common_1.getDataSourceByName; } });
|
|
8
|
+
Object.defineProperty(exports, "deleteDataSourceByName", { enumerable: true, get: function () { return common_1.deleteDataSourceByName; } });
|
|
9
|
+
var hooks_1 = require("./hooks");
|
|
10
|
+
Object.defineProperty(exports, "runOnTransactionCommit", { enumerable: true, get: function () { return hooks_1.runOnTransactionCommit; } });
|
|
11
|
+
Object.defineProperty(exports, "runOnTransactionRollback", { enumerable: true, get: function () { return hooks_1.runOnTransactionRollback; } });
|
|
12
|
+
Object.defineProperty(exports, "runOnTransactionComplete", { enumerable: true, get: function () { return hooks_1.runOnTransactionComplete; } });
|
|
13
|
+
var transactional_1 = require("./decorators/transactional");
|
|
14
|
+
Object.defineProperty(exports, "Transactional", { enumerable: true, get: function () { return transactional_1.Transactional; } });
|
|
15
|
+
var storage_driver_1 = require("./enums/storage-driver");
|
|
16
|
+
Object.defineProperty(exports, "StorageDriver", { enumerable: true, get: function () { return storage_driver_1.StorageDriver; } });
|
|
17
|
+
var propagation_1 = require("./enums/propagation");
|
|
18
|
+
Object.defineProperty(exports, "Propagation", { enumerable: true, get: function () { return propagation_1.Propagation; } });
|
|
19
|
+
var isolation_level_1 = require("./enums/isolation-level");
|
|
20
|
+
Object.defineProperty(exports, "IsolationLevel", { enumerable: true, get: function () { return isolation_level_1.IsolationLevel; } });
|
|
21
|
+
var run_in_transaction_1 = require("./transactions/run-in-transaction");
|
|
22
|
+
Object.defineProperty(exports, "runInTransaction", { enumerable: true, get: function () { return run_in_transaction_1.runInTransaction; } });
|
|
23
|
+
var wrap_in_transaction_1 = require("./transactions/wrap-in-transaction");
|
|
24
|
+
Object.defineProperty(exports, "wrapInTransaction", { enumerable: true, get: function () { return wrap_in_transaction_1.wrapInTransaction; } });
|
|
25
|
+
var transactional_2 = require("./errors/transactional");
|
|
26
|
+
Object.defineProperty(exports, "TransactionalError", { enumerable: true, get: function () { return transactional_2.TransactionalError; } });
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/vendor/transactional/index.ts"],"names":[],"mappings":";;;AAAA,mCAKkB;AAJhB,wHAAA,8BAA8B,OAAA;AAC9B,oHAAA,0BAA0B,OAAA;AAC1B,6GAAA,mBAAmB,OAAA;AACnB,gHAAA,sBAAsB,OAAA;AAExB,iCAIiB;AAHf,+GAAA,sBAAsB,OAAA;AACtB,iHAAA,wBAAwB,OAAA;AACxB,iHAAA,wBAAwB,OAAA;AAE1B,4DAA2D;AAAlD,8GAAA,aAAa,OAAA;AACtB,yDAAuD;AAA9C,+GAAA,aAAa,OAAA;AACtB,mDAAkD;AAAzC,0GAAA,WAAW,OAAA;AACpB,2DAAyD;AAAhD,iHAAA,cAAc,OAAA;AACvB,wEAAqE;AAA5D,sHAAA,gBAAgB,OAAA;AACzB,0EAAiG;AAAxF,wHAAA,iBAAiB,OAAA;AAC1B,wDAA4D;AAAnD,mHAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { StorageKey, StorageValue, StorageDriver } from '../interface';
|
|
2
|
+
export declare class AsyncLocalStorageDriver implements StorageDriver {
|
|
3
|
+
private readonly context;
|
|
4
|
+
get active(): boolean;
|
|
5
|
+
get<T>(key: StorageKey): T;
|
|
6
|
+
set(key: StorageKey, value: StorageValue): void;
|
|
7
|
+
run<T>(cb: () => Promise<T>): Promise<T>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/vendor/transactional/storage/driver/async-local-storage/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAW,MAAM,cAAc,CAAC;AAEhF,qBAAa,uBAAwB,YAAW,aAAa;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAE5D,IAAI,MAAM,YAET;IAEM,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC;IAI1B,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAI/C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAGhD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AsyncLocalStorageDriver = void 0;
|
|
4
|
+
const async_hooks_1 = require("async_hooks");
|
|
5
|
+
class AsyncLocalStorageDriver {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.context = new async_hooks_1.AsyncLocalStorage();
|
|
8
|
+
}
|
|
9
|
+
get active() {
|
|
10
|
+
return this.context.getStore() !== undefined;
|
|
11
|
+
}
|
|
12
|
+
get(key) {
|
|
13
|
+
var _a;
|
|
14
|
+
return (_a = this.context.getStore()) === null || _a === void 0 ? void 0 : _a.get(key);
|
|
15
|
+
}
|
|
16
|
+
set(key, value) {
|
|
17
|
+
var _a;
|
|
18
|
+
(_a = this.context.getStore()) === null || _a === void 0 ? void 0 : _a.set(key, value);
|
|
19
|
+
}
|
|
20
|
+
run(cb) {
|
|
21
|
+
return this.context.run(new Map(this.context.getStore()), cb);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.AsyncLocalStorageDriver = AsyncLocalStorageDriver;
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/vendor/transactional/storage/driver/async-local-storage/index.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAIhD,MAAa,uBAAuB;IAApC;QACmB,YAAO,GAAG,IAAI,+BAAiB,EAAW,CAAC;IAiB9D,CAAC;IAfC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC;IAC/C,CAAC;IAEM,GAAG,CAAI,GAAe;;QAC3B,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,0CAAE,GAAG,CAAC,GAAG,CAAM,CAAC;IAChD,CAAC;IAEM,GAAG,CAAC,GAAe,EAAE,KAAmB;;QAC7C,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,0CAAE,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEM,GAAG,CAAI,EAAoB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;CACF;AAlBD,0DAkBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type StorageKey = string;
|
|
2
|
+
export type StorageValue = unknown;
|
|
3
|
+
export type Storage = Map<StorageKey, StorageValue>;
|
|
4
|
+
export interface StorageDriver {
|
|
5
|
+
active: boolean;
|
|
6
|
+
get(key: StorageKey): StorageValue;
|
|
7
|
+
set(key: StorageKey, value: StorageValue): void;
|
|
8
|
+
run<T>(cb: () => Promise<T>): Promise<T>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../../src/vendor/transactional/storage/driver/interface.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC;AACnC,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,CAAC;IACnC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAChD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../../src/vendor/transactional/storage/driver/interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,eAAO,MAAM,OAAO,SAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/storage/index.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAEvB,QAAA,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/storage/storage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,qBAAa,OAAO;IAClB,OAAO,CAAC,MAAM,CAA4B;IAEnC,MAAM;IAWN,GAAG;CASX"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Storage = void 0;
|
|
4
|
+
const async_local_storage_1 = require("./driver/async-local-storage");
|
|
5
|
+
class Storage {
|
|
6
|
+
create() {
|
|
7
|
+
if (this.driver) {
|
|
8
|
+
return this.driver;
|
|
9
|
+
}
|
|
10
|
+
this.driver = new async_local_storage_1.AsyncLocalStorageDriver();
|
|
11
|
+
return this.driver;
|
|
12
|
+
}
|
|
13
|
+
get() {
|
|
14
|
+
if (!this.driver) {
|
|
15
|
+
throw new Error('No storage driver defined in your app ... please call initializeTransactionalContext() before application start.');
|
|
16
|
+
}
|
|
17
|
+
return this.driver;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.Storage = Storage;
|
|
21
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/storage/storage.ts"],"names":[],"mappings":";;;AAAA,sEAAuE;AAGvE,MAAa,OAAO;IAGX,MAAM;QACX,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAEhB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,6CAAuB,EAAE,CAAC;QAE5C,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,GAAG;QACR,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAvBD,0BAuBC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { EntityManager, QueryRunner } from 'typeorm';
|
|
2
|
+
import { DataSourceName } from '../common';
|
|
3
|
+
import type { StorageDriver } from '../storage/driver/interface';
|
|
4
|
+
export declare class NestedScope {
|
|
5
|
+
readonly queryRunner: QueryRunner | undefined;
|
|
6
|
+
private tail;
|
|
7
|
+
constructor(queryRunner: QueryRunner | undefined);
|
|
8
|
+
acquire(): Promise<() => void>;
|
|
9
|
+
}
|
|
10
|
+
export declare const setNestedScope: (context: StorageDriver, name: DataSourceName, entityManager: EntityManager) => void;
|
|
11
|
+
export declare const getNestedScope: (context: StorageDriver, name: DataSourceName, currentTransaction: EntityManager) => NestedScope;
|
|
12
|
+
//# sourceMappingURL=nested-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested-scope.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/transactions/nested-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,qBAAa,WAAW;IAGV,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS;IAFzD,OAAO,CAAC,IAAI,CAAoC;gBAE3B,WAAW,EAAE,WAAW,GAAG,SAAS;IAEnD,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;CAUrC;AAUD,eAAO,MAAM,cAAc,GACzB,SAAS,aAAa,EACtB,MAAM,cAAc,EACpB,eAAe,aAAa,SAG7B,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,SAAS,aAAa,EACtB,MAAM,cAAc,EACpB,oBAAoB,aAAa,KAChC,WAcF,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNestedScope = exports.setNestedScope = exports.NestedScope = void 0;
|
|
4
|
+
const constants_1 = require("../common/constants");
|
|
5
|
+
class NestedScope {
|
|
6
|
+
constructor(queryRunner) {
|
|
7
|
+
this.queryRunner = queryRunner;
|
|
8
|
+
this.tail = Promise.resolve();
|
|
9
|
+
}
|
|
10
|
+
async acquire() {
|
|
11
|
+
const previous = this.tail;
|
|
12
|
+
let release;
|
|
13
|
+
this.tail = new Promise((resolve) => {
|
|
14
|
+
release = resolve;
|
|
15
|
+
});
|
|
16
|
+
await previous;
|
|
17
|
+
return release;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.NestedScope = NestedScope;
|
|
21
|
+
const rootScopes = new WeakMap();
|
|
22
|
+
const scopeKey = (name) => constants_1.TYPEORM_DATA_SOURCE_NAME_PREFIX + name + '/nested-scope';
|
|
23
|
+
const setNestedScope = (context, name, entityManager) => {
|
|
24
|
+
context.set(scopeKey(name), new NestedScope(entityManager.queryRunner));
|
|
25
|
+
};
|
|
26
|
+
exports.setNestedScope = setNestedScope;
|
|
27
|
+
const getNestedScope = (context, name, currentTransaction) => {
|
|
28
|
+
const queryRunner = currentTransaction.queryRunner;
|
|
29
|
+
const scoped = context.get(scopeKey(name));
|
|
30
|
+
if (scoped && scoped.queryRunner === queryRunner)
|
|
31
|
+
return scoped;
|
|
32
|
+
if (!queryRunner)
|
|
33
|
+
return new NestedScope(undefined);
|
|
34
|
+
let root = rootScopes.get(queryRunner);
|
|
35
|
+
if (!root) {
|
|
36
|
+
root = new NestedScope(queryRunner);
|
|
37
|
+
rootScopes.set(queryRunner, root);
|
|
38
|
+
}
|
|
39
|
+
return root;
|
|
40
|
+
};
|
|
41
|
+
exports.getNestedScope = getNestedScope;
|
|
42
|
+
//# sourceMappingURL=nested-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested-scope.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/transactions/nested-scope.ts"],"names":[],"mappings":";;;AAGA,mDAAsE;AAMtE,MAAa,WAAW;IAGtB,YAAqB,WAAoC;QAApC,gBAAW,GAAX,WAAW,CAAyB;QAFjD,SAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAEY,CAAC;IAE7D,KAAK,CAAC,OAAO;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACxC,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC;QAEf,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAfD,kCAeC;AAED,MAAM,UAAU,GAAG,IAAI,OAAO,EAA4B,CAAC;AAE3D,MAAM,QAAQ,GAAG,CAAC,IAAoB,EAAE,EAAE,CAAC,2CAA+B,GAAG,IAAI,GAAG,eAAe,CAAC;AAM7F,MAAM,cAAc,GAAG,CAC5B,OAAsB,EACtB,IAAoB,EACpB,aAA4B,EAC5B,EAAE;IACF,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,cAAc,GAAG,CAC5B,OAAsB,EACtB,IAAoB,EACpB,kBAAiC,EACpB,EAAE;IACf,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAA4B,CAAC;IACtE,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC;IAEhE,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;IAEpD,IAAI,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;QACpC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,cAAc,kBAkBzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-in-transaction.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/transactions/run-in-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,eAAO,MAAM,gBAAgB,GAAI,IAAI,SAAS,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU,CAAC,IAAI,CAAC,EAC/E,IAAI,IAAI,EACR,UAAU,wBAAwB,qBAGnC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runInTransaction = void 0;
|
|
4
|
+
const wrap_in_transaction_1 = require("./wrap-in-transaction");
|
|
5
|
+
const runInTransaction = (fn, options) => {
|
|
6
|
+
return (0, wrap_in_transaction_1.wrapInTransaction)(fn, options)();
|
|
7
|
+
};
|
|
8
|
+
exports.runInTransaction = runInTransaction;
|
|
9
|
+
//# sourceMappingURL=run-in-transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-in-transaction.js","sourceRoot":"","sources":["../../../../src/vendor/transactional/transactions/run-in-transaction.ts"],"names":[],"mappings":";;;AAAA,+DAAoF;AAE7E,MAAM,gBAAgB,GAAG,CAC9B,EAAQ,EACR,OAAkC,EAClC,EAAE;IACF,OAAO,IAAA,uCAAiB,EAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;AAC1C,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { DataSourceName } from '../common';
|
|
2
|
+
import { IsolationLevel } from '../enums/isolation-level';
|
|
3
|
+
import { Propagation } from '../enums/propagation';
|
|
4
|
+
export interface WrapInTransactionOptions {
|
|
5
|
+
connectionName?: DataSourceName | (() => DataSourceName | undefined);
|
|
6
|
+
propagation?: Propagation;
|
|
7
|
+
isolationLevel?: IsolationLevel;
|
|
8
|
+
name?: string | symbol;
|
|
9
|
+
}
|
|
10
|
+
export declare const wrapInTransaction: <Fn extends (this: any, ...args: any[]) => ReturnType<Fn>>(fn: Fn, options?: WrapInTransactionOptions) => Fn;
|
|
11
|
+
//# sourceMappingURL=wrap-in-transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-in-transaction.d.ts","sourceRoot":"","sources":["../../../../src/vendor/transactional/transactions/wrap-in-transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EAQf,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKnD,MAAM,WAAW,wBAAwB;IAIvC,cAAc,CAAC,EAAE,cAAc,GAAG,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC;IAErE,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,iBAAiB,GAAI,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,EACxF,IAAI,EAAE,EACN,UAAU,wBAAwB,KAoIhB,EACnB,CAAC"}
|