@eggjs/tegg-dal-plugin 3.51.2 → 4.0.0-beta.1
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/app.d.ts +2 -2
- package/app.js +18 -18
- package/index.d.ts +10 -0
- package/index.js +11 -0
- package/lib/DalModuleLoadUnitHook.d.ts +3 -2
- package/lib/DalModuleLoadUnitHook.js +15 -12
- package/lib/DalTableEggPrototypeHook.js +12 -15
- package/lib/DataSource.d.ts +1 -1
- package/lib/DataSource.js +41 -45
- package/lib/MysqlDataSourceManager.js +18 -22
- package/lib/SqlMapManager.js +5 -9
- package/lib/TableModelManager.js +5 -9
- package/lib/TransactionPrototypeHook.js +15 -21
- package/lib/TransactionalAOP.js +10 -13
- package/package.json +31 -23
- package/typings/index.d.ts +0 -3
package/app.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Application } from '
|
|
2
|
-
export default class
|
|
1
|
+
import { EggCore as Application, ILifecycleBoot } from '@eggjs/core';
|
|
2
|
+
export default class DalAppBootHook implements ILifecycleBoot {
|
|
3
3
|
private readonly app;
|
|
4
4
|
private dalTableEggPrototypeHook;
|
|
5
5
|
private dalModuleLoadUnitHook;
|
package/app.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { DalTableEggPrototypeHook } from './lib/DalTableEggPrototypeHook.js';
|
|
2
|
+
import { MysqlDataSourceManager } from './lib/MysqlDataSourceManager.js';
|
|
3
|
+
import { SqlMapManager } from './lib/SqlMapManager.js';
|
|
4
|
+
import { TableModelManager } from './lib/TableModelManager.js';
|
|
5
|
+
import { DalModuleLoadUnitHook } from './lib/DalModuleLoadUnitHook.js';
|
|
6
|
+
import { TransactionPrototypeHook } from './lib/TransactionPrototypeHook.js';
|
|
7
|
+
export default class DalAppBootHook {
|
|
8
|
+
app;
|
|
9
|
+
dalTableEggPrototypeHook;
|
|
10
|
+
dalModuleLoadUnitHook;
|
|
11
|
+
transactionPrototypeHook;
|
|
11
12
|
constructor(app) {
|
|
12
13
|
this.app = app;
|
|
13
14
|
}
|
|
14
15
|
configWillLoad() {
|
|
15
|
-
this.dalModuleLoadUnitHook = new
|
|
16
|
-
this.dalTableEggPrototypeHook = new
|
|
17
|
-
this.transactionPrototypeHook = new
|
|
16
|
+
this.dalModuleLoadUnitHook = new DalModuleLoadUnitHook(this.app.config.env, this.app.moduleConfigs);
|
|
17
|
+
this.dalTableEggPrototypeHook = new DalTableEggPrototypeHook(this.app.logger);
|
|
18
|
+
this.transactionPrototypeHook = new TransactionPrototypeHook(this.app.moduleConfigs, this.app.logger);
|
|
18
19
|
this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.dalTableEggPrototypeHook);
|
|
19
20
|
this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.transactionPrototypeHook);
|
|
20
21
|
this.app.loadUnitLifecycleUtil.registerLifecycle(this.dalModuleLoadUnitHook);
|
|
@@ -29,10 +30,9 @@ class ControllerAppBootHook {
|
|
|
29
30
|
if (this.transactionPrototypeHook) {
|
|
30
31
|
this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.transactionPrototypeHook);
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
MysqlDataSourceManager.instance.clear();
|
|
34
|
+
SqlMapManager.instance.clear();
|
|
35
|
+
TableModelManager.instance.clear();
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7O0FBRzVDLDZFQUEwRTtBQUMxRSx5RUFBc0U7QUFDdEUsdURBQW9EO0FBQ3BELCtEQUE0RDtBQUM1RCx1RUFBb0U7QUFDcEUsNkVBQTBFO0FBRTFFLE1BQXFCLHFCQUFxQjtJQU14QyxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksNkNBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksbURBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDcEYsQ0FBQztRQUNELCtDQUFzQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4Qyw2QkFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixxQ0FBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztDQUNGO0FBakNELHdDQWlDQyJ9
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFDaEIsR0FBRyxDQUFjO0lBQzFCLHdCQUF3QixDQUEyQjtJQUNuRCxxQkFBcUIsQ0FBd0I7SUFDN0Msd0JBQXdCLENBQTJCO0lBRTNELFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEcsSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2YsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0Qsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FDRiJ9
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import '@eggjs/tegg-config';
|
|
2
|
+
import '@eggjs/tegg-plugin';
|
|
3
|
+
export * from './lib/DalModuleLoadUnitHook.js';
|
|
4
|
+
export * from './lib/DalTableEggPrototypeHook.js';
|
|
5
|
+
export * from './lib/DataSource.js';
|
|
6
|
+
export * from './lib/MysqlDataSourceManager.js';
|
|
7
|
+
export * from './lib/SqlMapManager.js';
|
|
8
|
+
export * from './lib/TableModelManager.js';
|
|
9
|
+
export * from './lib/TransactionalAOP.js';
|
|
10
|
+
export * from './lib/TransactionPrototypeHook.js';
|
package/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import '@eggjs/tegg-config';
|
|
2
|
+
import '@eggjs/tegg-plugin';
|
|
3
|
+
export * from './lib/DalModuleLoadUnitHook.js';
|
|
4
|
+
export * from './lib/DalTableEggPrototypeHook.js';
|
|
5
|
+
export * from './lib/DataSource.js';
|
|
6
|
+
export * from './lib/MysqlDataSourceManager.js';
|
|
7
|
+
export * from './lib/SqlMapManager.js';
|
|
8
|
+
export * from './lib/TableModelManager.js';
|
|
9
|
+
export * from './lib/TransactionalAOP.js';
|
|
10
|
+
export * from './lib/TransactionPrototypeHook.js';
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sb0JBQW9CLENBQUM7QUFFNUIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG1DQUFtQyxDQUFDIn0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { LifecycleHook, ModuleConfigHolder } from '@eggjs/tegg';
|
|
1
|
+
import { LifecycleHook, Logger, ModuleConfigHolder } from '@eggjs/tegg';
|
|
2
2
|
import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg/helper';
|
|
3
3
|
export declare class DalModuleLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
|
|
4
4
|
private readonly moduleConfigs;
|
|
5
5
|
private readonly env;
|
|
6
|
-
|
|
6
|
+
private readonly logger?;
|
|
7
|
+
constructor(env: string, moduleConfigs: Record<string, ModuleConfigHolder>, logger?: Logger);
|
|
7
8
|
preCreate(_: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
|
|
8
9
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(env, moduleConfigs) {
|
|
1
|
+
import { DatabaseForker } from '@eggjs/dal-runtime';
|
|
2
|
+
import { MysqlDataSourceManager } from './MysqlDataSourceManager.js';
|
|
3
|
+
export class DalModuleLoadUnitHook {
|
|
4
|
+
moduleConfigs;
|
|
5
|
+
env;
|
|
6
|
+
logger;
|
|
7
|
+
constructor(env, moduleConfigs, logger) {
|
|
8
8
|
this.env = env;
|
|
9
9
|
this.moduleConfigs = moduleConfigs;
|
|
10
|
+
this.logger = logger;
|
|
10
11
|
}
|
|
11
12
|
async preCreate(_, loadUnit) {
|
|
12
13
|
const moduleConfigHolder = this.moduleConfigs[loadUnit.name];
|
|
@@ -19,20 +20,22 @@ class DalModuleLoadUnitHook {
|
|
|
19
20
|
const dataSourceOptions = {
|
|
20
21
|
...config,
|
|
21
22
|
name,
|
|
23
|
+
logger: this.logger,
|
|
22
24
|
};
|
|
23
|
-
const forker = new
|
|
25
|
+
const forker = new DatabaseForker(this.env, dataSourceOptions);
|
|
24
26
|
if (forker.shouldFork()) {
|
|
25
27
|
await forker.forkDb(loadUnit.unitPath);
|
|
26
28
|
}
|
|
27
29
|
try {
|
|
28
|
-
await
|
|
30
|
+
await MysqlDataSourceManager.instance.createDataSource(loadUnit.name, name, dataSourceOptions);
|
|
29
31
|
}
|
|
30
32
|
catch (e) {
|
|
31
|
-
e
|
|
33
|
+
if (e instanceof Error) {
|
|
34
|
+
e.message = `create module ${loadUnit.name} datasource ${name} failed: ${e.message}`;
|
|
35
|
+
}
|
|
32
36
|
throw e;
|
|
33
37
|
}
|
|
34
38
|
}));
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
|
-
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFsTW9kdWxlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRGFsTW9kdWxlTG9hZFVuaXRIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFrRTtBQUVsRSxvREFBdUU7QUFHdkUsTUFBYSxxQkFBcUI7SUFJaEMsWUFBWSxHQUFXLEVBQUUsYUFBaUQ7UUFDeEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUEyQixFQUFFLFFBQWtCO1FBQzdELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGtCQUFrQjtZQUFFLE9BQU87UUFDaEMsTUFBTSxnQkFBZ0IsR0FBbUQsa0JBQWtCLENBQUMsTUFBYyxDQUFDLFVBQVUsQ0FBQztRQUN0SCxJQUFJLENBQUMsZ0JBQWdCO1lBQUUsT0FBTztRQUM5QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBRSxJQUFJLEVBQUUsTUFBTSxDQUFFLEVBQUUsRUFBRTtZQUNoRixNQUFNLGlCQUFpQixHQUFHO2dCQUN4QixHQUFHLE1BQU07Z0JBQ1QsSUFBSTthQUNMLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLDRCQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQy9ELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksQ0FBQztnQkFDSCxNQUFNLCtDQUFzQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pHLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLENBQUMsQ0FBQyxPQUFPLEdBQUcsaUJBQWlCLFFBQVEsQ0FBQyxJQUFJLGVBQWUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDckYsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRjtBQWhDRCxzREFnQ0MifQ==
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFsTW9kdWxlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRGFsTW9kdWxlTG9hZFVuaXRIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQXFCLE1BQU0sb0JBQW9CLENBQUM7QUFFdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckUsTUFBTSxPQUFPLHFCQUFxQjtJQUNmLGFBQWEsQ0FBcUM7SUFDbEQsR0FBRyxDQUFTO0lBQ1osTUFBTSxDQUFVO0lBRWpDLFlBQVksR0FBVyxFQUFFLGFBQWlELEVBQUUsTUFBZTtRQUN6RixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLENBQTJCLEVBQUUsUUFBa0I7UUFDN0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsa0JBQWtCO1lBQUUsT0FBTztRQUNoQyxNQUFNLGdCQUFnQixHQUFtRCxrQkFBa0IsQ0FBQyxNQUFjLENBQUMsVUFBVSxDQUFDO1FBQ3RILElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPO1FBQzlCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFFLElBQUksRUFBRSxNQUFNLENBQUUsRUFBRSxFQUFFO1lBQ2hGLE1BQU0saUJBQWlCLEdBQUc7Z0JBQ3hCLEdBQUcsTUFBTTtnQkFDVCxJQUFJO2dCQUNKLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQixDQUFDO1lBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQy9ELElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELElBQUksQ0FBQztnQkFDSCxNQUFNLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2pHLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRSxDQUFDO29CQUN2QixDQUFDLENBQUMsT0FBTyxHQUFHLGlCQUFpQixRQUFRLENBQUMsSUFBSSxlQUFlLElBQUksWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ3ZGLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7Q0FDRiJ9
|
|
@@ -1,24 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const SqlMapManager_1 = require("./SqlMapManager");
|
|
8
|
-
class DalTableEggPrototypeHook {
|
|
1
|
+
import { DaoInfoUtil, TableModel } from '@eggjs/dal-decorator';
|
|
2
|
+
import { SqlMapLoader } from '@eggjs/dal-runtime';
|
|
3
|
+
import { TableModelManager } from './TableModelManager.js';
|
|
4
|
+
import { SqlMapManager } from './SqlMapManager.js';
|
|
5
|
+
export class DalTableEggPrototypeHook {
|
|
6
|
+
logger;
|
|
9
7
|
constructor(logger) {
|
|
10
8
|
this.logger = logger;
|
|
11
9
|
}
|
|
12
10
|
async preCreate(ctx) {
|
|
13
|
-
if (!
|
|
11
|
+
if (!DaoInfoUtil.getIsDao(ctx.clazz))
|
|
14
12
|
return;
|
|
15
13
|
const tableClazz = ctx.clazz.clazzModel;
|
|
16
|
-
const tableModel =
|
|
17
|
-
|
|
18
|
-
const loader = new
|
|
14
|
+
const tableModel = TableModel.build(tableClazz);
|
|
15
|
+
TableModelManager.instance.set(ctx.loadUnit.name, tableModel);
|
|
16
|
+
const loader = new SqlMapLoader(tableModel, ctx.clazz, this.logger);
|
|
19
17
|
const sqlMap = loader.load();
|
|
20
|
-
|
|
18
|
+
SqlMapManager.instance.set(ctx.loadUnit.name, sqlMap);
|
|
21
19
|
}
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFsVGFibGVFZ2dQcm90b3R5cGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRGFsVGFibGVFZ2dQcm90b3R5cGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLHdEQUErRDtBQUMvRCxvREFBa0Q7QUFDbEQsMkRBQXdEO0FBQ3hELG1EQUFnRDtBQUVoRCxNQUFhLHdCQUF3QjtJQUduQyxZQUFZLE1BQWM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBaUM7UUFDL0MsSUFBSSxDQUFDLDJCQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPO1FBQzdDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUF1QiwwQkFBVSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRSxxQ0FBaUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELE1BQU0sTUFBTSxHQUFHLElBQUksMEJBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLDZCQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RCxDQUFDO0NBQ0Y7QUFoQkQsNERBZ0JDIn0=
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFsVGFibGVFZ2dQcm90b3R5cGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRGFsVGFibGVFZ2dQcm90b3R5cGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2xCLE1BQU0sQ0FBUztJQUVoQyxZQUFZLE1BQWM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBaUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDN0MsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQXVCLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEUsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQVksQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEUsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRiJ9
|
package/lib/DataSource.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ObjectInfo } from '@eggjs/tegg';
|
|
2
2
|
import { DataSource } from '@eggjs/dal-runtime';
|
|
3
|
-
import { TransactionalAOP } from './TransactionalAOP';
|
|
3
|
+
import { TransactionalAOP } from './TransactionalAOP.js';
|
|
4
4
|
export declare class DataSourceDelegate<T> extends DataSource<T> {
|
|
5
5
|
private transactionalAOP;
|
|
6
6
|
objInfo: ObjectInfo;
|
package/lib/DataSource.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -11,65 +10,61 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
10
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
let DataSourceDelegate = class DataSourceDelegate extends dal_runtime_1.DataSource {
|
|
13
|
+
import assert from 'node:assert';
|
|
14
|
+
import { AccessLevel, Inject, LoadUnitNameQualifierAttribute, MultiInstanceInfo, MultiInstanceProto, ObjectInitType, } from '@eggjs/tegg';
|
|
15
|
+
import { EggLoadUnitType, LoaderFactory, ModuleConfigUtil, } from '@eggjs/tegg/helper';
|
|
16
|
+
import { DataSourceInjectName, DataSourceQualifierAttribute, TableInfoUtil, } from '@eggjs/tegg/dal';
|
|
17
|
+
import { DataSource } from '@eggjs/dal-runtime';
|
|
18
|
+
import { TableModelManager } from './TableModelManager.js';
|
|
19
|
+
import { MysqlDataSourceManager } from './MysqlDataSourceManager.js';
|
|
20
|
+
import { SqlMapManager } from './SqlMapManager.js';
|
|
21
|
+
import { TransactionalAOP } from './TransactionalAOP.js';
|
|
22
|
+
let DataSourceDelegate = class DataSourceDelegate extends DataSource {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
transactionalAOP;
|
|
26
|
+
objInfo;
|
|
29
27
|
constructor(transactionalAOP, objInfo) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
(0, node_assert_1.default)(dataSourceQualifierValue);
|
|
28
|
+
const dataSourceQualifierValue = objInfo.qualifiers.find(t => t.attribute === DataSourceQualifierAttribute)?.value;
|
|
29
|
+
assert(dataSourceQualifierValue);
|
|
33
30
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
34
31
|
const [moduleName, dataSource, clazzName] = dataSourceQualifierValue.split('.');
|
|
35
|
-
const tableModel =
|
|
36
|
-
(
|
|
37
|
-
const mysqlDataSource =
|
|
38
|
-
(
|
|
39
|
-
const sqlMap =
|
|
40
|
-
(
|
|
32
|
+
const tableModel = TableModelManager.instance.get(moduleName, clazzName);
|
|
33
|
+
assert(tableModel, `not found table ${dataSourceQualifierValue}`);
|
|
34
|
+
const mysqlDataSource = MysqlDataSourceManager.instance.get(moduleName, dataSource);
|
|
35
|
+
assert(mysqlDataSource, `not found dataSource ${dataSource} in module ${moduleName}`);
|
|
36
|
+
const sqlMap = SqlMapManager.instance.get(moduleName, clazzName);
|
|
37
|
+
assert(sqlMap, `not found SqlMap ${clazzName} in module ${moduleName}`);
|
|
41
38
|
super(tableModel, mysqlDataSource, sqlMap);
|
|
42
39
|
this.transactionalAOP = transactionalAOP;
|
|
43
40
|
this.objInfo = objInfo;
|
|
44
41
|
}
|
|
45
42
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const
|
|
53
|
-
const dataSources = Object.keys((config === null || config === void 0 ? void 0 : config.dataSource) || {});
|
|
43
|
+
DataSourceDelegate = __decorate([
|
|
44
|
+
MultiInstanceProto({
|
|
45
|
+
accessLevel: AccessLevel.PUBLIC,
|
|
46
|
+
initType: ObjectInitType.SINGLETON,
|
|
47
|
+
async getObjects(ctx) {
|
|
48
|
+
const config = ModuleConfigUtil.loadModuleConfigSync(ctx.unitPath);
|
|
49
|
+
const dataSources = Object.keys(config?.dataSource || {});
|
|
54
50
|
const result = [];
|
|
55
|
-
const loader =
|
|
56
|
-
const clazzList = loader.load();
|
|
51
|
+
const loader = LoaderFactory.createLoader(ctx.unitPath, EggLoadUnitType.MODULE);
|
|
52
|
+
const clazzList = await loader.load();
|
|
57
53
|
const tableClazzList = clazzList.filter(t => {
|
|
58
|
-
return
|
|
54
|
+
return TableInfoUtil.getIsTable(t);
|
|
59
55
|
});
|
|
60
56
|
const dataSourceLength = dataSources.length;
|
|
61
57
|
for (const dataSource of dataSources) {
|
|
62
58
|
const moduleClazzList = tableClazzList.filter(clazz => {
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
const dataSourceName = (_a = tableParams === null || tableParams === void 0 ? void 0 : tableParams.dataSourceName) !== null && _a !== void 0 ? _a : 'default';
|
|
59
|
+
const tableParams = TableInfoUtil.getTableParams(clazz);
|
|
60
|
+
const dataSourceName = tableParams?.dataSourceName ?? 'default';
|
|
66
61
|
return dataSourceLength === 1 || dataSourceName === dataSource;
|
|
67
62
|
});
|
|
68
63
|
for (const clazz of moduleClazzList) {
|
|
69
64
|
result.push({
|
|
70
|
-
name:
|
|
65
|
+
name: DataSourceInjectName,
|
|
71
66
|
qualifiers: [{
|
|
72
|
-
attribute:
|
|
67
|
+
attribute: DataSourceQualifierAttribute,
|
|
73
68
|
value: `${ctx.moduleName}.${dataSource}.${clazz.name}`,
|
|
74
69
|
}],
|
|
75
70
|
});
|
|
@@ -78,8 +73,9 @@ exports.DataSourceDelegate = DataSourceDelegate = __decorate([
|
|
|
78
73
|
return result;
|
|
79
74
|
},
|
|
80
75
|
}),
|
|
81
|
-
__param(0,
|
|
82
|
-
__param(1,
|
|
83
|
-
__metadata("design:paramtypes", [
|
|
76
|
+
__param(0, Inject({ name: 'transactionalAOP' })),
|
|
77
|
+
__param(1, MultiInstanceInfo([DataSourceQualifierAttribute, LoadUnitNameQualifierAttribute])),
|
|
78
|
+
__metadata("design:paramtypes", [TransactionalAOP, Object])
|
|
84
79
|
], DataSourceDelegate);
|
|
85
|
-
|
|
80
|
+
export { DataSourceDelegate };
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkRhdGFTb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFDTCxXQUFXLEVBQUUsTUFBTSxFQUFFLDhCQUE4QixFQUNuRCxpQkFBaUIsRUFDakIsa0JBQWtCLEVBR2xCLGNBQWMsR0FDZixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLDRCQUE0QixFQUM1QixhQUFhLEdBRWQsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBa0NsRCxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFzQixTQUFRLFVBQWE7SUFDdEQsNkRBQTZEO0lBQzdELGFBQWE7SUFDTCxnQkFBZ0IsQ0FBbUI7SUFDM0MsT0FBTyxDQUFhO0lBRXBCLFlBQ3dDLGdCQUFrQyxFQUNhLE9BQW1CO1FBQ3hHLE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLDRCQUE0QixDQUFDLEVBQUUsS0FBSyxDQUFDO1FBQ25ILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2pDLDZEQUE2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
|
|
@@ -1,47 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const dal_runtime_1 = require("@eggjs/dal-runtime");
|
|
8
|
-
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
9
|
-
class MysqlDataSourceManager {
|
|
1
|
+
import crypto from 'node:crypto';
|
|
2
|
+
import { MysqlDataSource } from '@eggjs/dal-runtime';
|
|
3
|
+
export class MysqlDataSourceManager {
|
|
4
|
+
static instance = new MysqlDataSourceManager();
|
|
5
|
+
dataSourceIndices;
|
|
6
|
+
dataSources;
|
|
10
7
|
constructor() {
|
|
11
8
|
this.dataSourceIndices = new Map();
|
|
12
9
|
this.dataSources = new Map();
|
|
13
10
|
}
|
|
14
11
|
get(moduleName, dataSourceName) {
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const dataSourceIndex = this.dataSourceIndices.get(moduleName)
|
|
13
|
+
?.get(dataSourceName);
|
|
17
14
|
if (dataSourceIndex) {
|
|
18
15
|
return this.dataSources.get(dataSourceIndex);
|
|
19
16
|
}
|
|
20
17
|
}
|
|
21
18
|
async createDataSource(moduleName, dataSourceName, config) {
|
|
19
|
+
const { logger, ...dsConfig } = config || {};
|
|
22
20
|
const dataSourceConfig = {
|
|
23
|
-
...
|
|
21
|
+
...dsConfig,
|
|
24
22
|
name: dataSourceName,
|
|
25
23
|
};
|
|
26
24
|
const index = MysqlDataSourceManager.createDataSourceKey(dataSourceConfig);
|
|
27
25
|
let dataSource = this.dataSources.get(index);
|
|
28
26
|
if (!dataSource) {
|
|
29
|
-
dataSource = new
|
|
27
|
+
dataSource = new MysqlDataSource({ ...dataSourceConfig, logger });
|
|
30
28
|
this.dataSources.set(index, dataSource);
|
|
31
29
|
}
|
|
32
|
-
let
|
|
33
|
-
if (!
|
|
34
|
-
|
|
35
|
-
this.dataSourceIndices.set(moduleName,
|
|
30
|
+
let moduleDataSourceIndices = this.dataSourceIndices.get(moduleName);
|
|
31
|
+
if (!moduleDataSourceIndices) {
|
|
32
|
+
moduleDataSourceIndices = new Map();
|
|
33
|
+
this.dataSourceIndices.set(moduleName, moduleDataSourceIndices);
|
|
36
34
|
}
|
|
37
|
-
|
|
35
|
+
moduleDataSourceIndices.set(dataSourceName, index);
|
|
38
36
|
await dataSource.ready();
|
|
39
37
|
}
|
|
40
38
|
clear() {
|
|
41
39
|
this.dataSourceIndices.clear();
|
|
42
40
|
}
|
|
43
41
|
static createDataSourceKey(dataSourceOptions) {
|
|
44
|
-
const hash =
|
|
42
|
+
const hash = crypto.createHash('md5');
|
|
45
43
|
const keys = Object.keys(dataSourceOptions)
|
|
46
44
|
.sort();
|
|
47
45
|
for (const key of keys) {
|
|
@@ -54,6 +52,4 @@ class MysqlDataSourceManager {
|
|
|
54
52
|
return hash.digest('hex');
|
|
55
53
|
}
|
|
56
54
|
}
|
|
57
|
-
|
|
58
|
-
MysqlDataSourceManager.instance = new MysqlDataSourceManager();
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlzcWxEYXRhU291cmNlTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk15c3FsRGF0YVNvdXJjZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQXdFO0FBQ3hFLDhEQUFpQztBQUVqQyxNQUFhLHNCQUFzQjtJQU1qQztRQUNFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsR0FBRyxDQUFDLFVBQWtCLEVBQUUsY0FBc0I7O1FBQzVDLE1BQU0sZUFBZSxHQUFHLE1BQUEsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsMENBQzFELEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxjQUFzQixFQUFFLE1BQXlCO1FBQzFGLE1BQU0sZ0JBQWdCLEdBQUc7WUFDdkIsR0FBRyxNQUFNO1lBQ1QsSUFBSSxFQUFFLGNBQWM7U0FDckIsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDM0UsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsR0FBRyxJQUFJLDZCQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUM3Qix1QkFBdUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkQsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBb0M7UUFDN0QsTUFBTSxJQUFJLEdBQUcscUJBQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUN4QyxJQUFJLEVBQUUsQ0FBQztRQUNWLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7O0FBeERILHdEQXlEQztBQXhEUSwrQkFBUSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQyJ9
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXlzcWxEYXRhU291cmNlTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk15c3FsRGF0YVNvdXJjZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBcUIsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztJQUU5QixpQkFBaUIsQ0FBNEY7SUFDN0csV0FBVyxDQUFvRDtJQUVoRjtRQUNFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsR0FBRyxDQUFDLFVBQWtCLEVBQUUsY0FBc0I7UUFDNUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDNUQsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEIsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsY0FBc0IsRUFBRSxNQUF5QjtRQUMxRixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUM3QyxNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLEdBQUcsUUFBUTtZQUNYLElBQUksRUFBRSxjQUFjO1NBQ3JCLENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixVQUFVLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxHQUFHLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLHVCQUF1QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDN0IsdUJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRW5ELE1BQU0sVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsaUJBQW9DO1FBQzdELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUN4QyxJQUFJLEVBQUUsQ0FBQztRQUNWLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsR0FBOEIsQ0FBQyxDQUFDO1lBQ2hFLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDIn0=
|
package/lib/SqlMapManager.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class SqlMapManager {
|
|
1
|
+
export class SqlMapManager {
|
|
2
|
+
static instance = new SqlMapManager();
|
|
3
|
+
sqlMaps;
|
|
5
4
|
constructor() {
|
|
6
5
|
this.sqlMaps = new Map();
|
|
7
6
|
}
|
|
8
7
|
get(moduleName, clazzName) {
|
|
9
|
-
|
|
10
|
-
return (_a = this.sqlMaps.get(moduleName)) === null || _a === void 0 ? void 0 : _a.get(clazzName);
|
|
8
|
+
return this.sqlMaps.get(moduleName)?.get(clazzName);
|
|
11
9
|
}
|
|
12
10
|
set(moduleName, sqlMap) {
|
|
13
11
|
let tables = this.sqlMaps.get(moduleName);
|
|
@@ -21,6 +19,4 @@ class SqlMapManager {
|
|
|
21
19
|
this.sqlMaps.clear();
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
SqlMapManager.instance = new SqlMapManager();
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsTWFwTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlNxbE1hcE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxhQUFhO0lBS3hCO1FBQ0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxHQUFHLENBQUMsVUFBa0IsRUFBRSxTQUFpQjs7UUFDdkMsT0FBTyxNQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELEdBQUcsQ0FBQyxVQUFrQixFQUFFLE1BQW1CO1FBQ3pDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDOztBQXhCSCxzQ0F5QkM7QUF4QlEsc0JBQVEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDIn0=
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsTWFwTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlNxbE1hcE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBRTlCLE9BQU8sQ0FBd0Q7SUFFdkU7UUFDRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxVQUFrQixFQUFFLFNBQWlCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxHQUFHLENBQUMsVUFBa0IsRUFBRSxNQUFtQjtRQUN6QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQyJ9
|
package/lib/TableModelManager.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class TableModelManager {
|
|
1
|
+
export class TableModelManager {
|
|
2
|
+
static instance = new TableModelManager();
|
|
3
|
+
tableModels;
|
|
5
4
|
constructor() {
|
|
6
5
|
this.tableModels = new Map();
|
|
7
6
|
}
|
|
8
7
|
get(moduleName, clazzName) {
|
|
9
|
-
|
|
10
|
-
return (_a = this.tableModels.get(moduleName)) === null || _a === void 0 ? void 0 : _a.get(clazzName);
|
|
8
|
+
return this.tableModels.get(moduleName)?.get(clazzName);
|
|
11
9
|
}
|
|
12
10
|
set(moduleName, tableModel) {
|
|
13
11
|
let tables = this.tableModels.get(moduleName);
|
|
@@ -21,6 +19,4 @@ class TableModelManager {
|
|
|
21
19
|
this.tableModels.clear();
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
|
-
|
|
25
|
-
TableModelManager.instance = new TableModelManager();
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNb2RlbE1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJUYWJsZU1vZGVsTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFhLGlCQUFpQjtJQUs1QjtRQUNFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsR0FBRyxDQUFDLFVBQWtCLEVBQUUsU0FBaUI7O1FBQ3ZDLE9BQU8sTUFBQSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsMENBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxHQUFHLENBQUMsVUFBa0IsRUFBRSxVQUFzQjtRQUM1QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7O0FBeEJILDhDQXlCQztBQXhCUSwwQkFBUSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQyJ9
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFibGVNb2RlbE1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJUYWJsZU1vZGVsTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO0lBRWxDLFdBQVcsQ0FBdUQ7SUFFMUU7UUFDRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELEdBQUcsQ0FBQyxVQUFrQixFQUFFLFNBQWlCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxHQUFHLENBQUMsVUFBa0IsRUFBRSxVQUFzQjtRQUM1QyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUMifQ==
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const aop_1 = require("@eggjs/tegg/aop");
|
|
10
|
-
const TransactionalAOP_1 = require("./TransactionalAOP");
|
|
11
|
-
const MysqlDataSourceManager_1 = require("./MysqlDataSourceManager");
|
|
12
|
-
class TransactionPrototypeHook {
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { PropagationType, TransactionMetaBuilder } from '@eggjs/tegg/transaction';
|
|
3
|
+
import { Pointcut } from '@eggjs/tegg/aop';
|
|
4
|
+
import { TransactionalAOP } from './TransactionalAOP.js';
|
|
5
|
+
import { MysqlDataSourceManager } from './MysqlDataSourceManager.js';
|
|
6
|
+
export class TransactionPrototypeHook {
|
|
7
|
+
moduleConfigs;
|
|
8
|
+
logger;
|
|
13
9
|
constructor(moduleConfigs, logger) {
|
|
14
10
|
this.moduleConfigs = moduleConfigs;
|
|
15
11
|
this.logger = logger;
|
|
16
12
|
}
|
|
17
13
|
async preCreate(ctx) {
|
|
18
|
-
|
|
19
|
-
const builder = new transaction_1.TransactionMetaBuilder(ctx.clazz);
|
|
14
|
+
const builder = new TransactionMetaBuilder(ctx.clazz);
|
|
20
15
|
const transactionMetadataList = builder.build();
|
|
21
16
|
if (transactionMetadataList.length < 1) {
|
|
22
17
|
return;
|
|
@@ -24,10 +19,10 @@ class TransactionPrototypeHook {
|
|
|
24
19
|
const moduleName = ctx.loadUnit.name;
|
|
25
20
|
for (const transactionMetadata of transactionMetadataList) {
|
|
26
21
|
const clazzName = `${moduleName}.${ctx.clazz.name}.${String(transactionMetadata.method)}`;
|
|
27
|
-
const datasourceConfigs =
|
|
22
|
+
const datasourceConfigs = this.moduleConfigs[moduleName]?.config?.dataSource || {};
|
|
28
23
|
let datasourceName;
|
|
29
24
|
if (transactionMetadata.datasourceName) {
|
|
30
|
-
(
|
|
25
|
+
assert(datasourceConfigs[transactionMetadata.datasourceName], `method ${clazzName} specified datasource ${transactionMetadata.datasourceName} not exists`);
|
|
31
26
|
datasourceName = transactionMetadata.datasourceName;
|
|
32
27
|
this.logger.info(`use datasource [${transactionMetadata.datasourceName}] for class ${clazzName}`);
|
|
33
28
|
}
|
|
@@ -44,17 +39,16 @@ class TransactionPrototypeHook {
|
|
|
44
39
|
const adviceParams = {
|
|
45
40
|
propagation: transactionMetadata.propagation,
|
|
46
41
|
dataSourceGetter: () => {
|
|
47
|
-
const mysqlDataSource =
|
|
42
|
+
const mysqlDataSource = MysqlDataSourceManager.instance.get(moduleName, datasourceName);
|
|
48
43
|
if (!mysqlDataSource) {
|
|
49
44
|
throw new Error(`method ${clazzName} not found datasource ${datasourceName}`);
|
|
50
45
|
}
|
|
51
46
|
return mysqlDataSource;
|
|
52
47
|
},
|
|
53
48
|
};
|
|
54
|
-
(
|
|
55
|
-
|
|
49
|
+
assert(adviceParams.propagation === PropagationType.REQUIRED, 'Transactional propagation only support required for now');
|
|
50
|
+
Pointcut(TransactionalAOP, { adviceParams })(ctx.clazz.prototype, transactionMetadata.method);
|
|
56
51
|
}
|
|
57
52
|
}
|
|
58
53
|
}
|
|
59
|
-
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25Qcm90b3R5cGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiVHJhbnNhY3Rpb25Qcm90b3R5cGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUE0QjtBQUc1Qix5REFBa0Y7QUFDbEYseUNBQTJDO0FBQzNDLHlEQUEyRTtBQUMzRSxxRUFBa0U7QUFFbEUsTUFBYSx3QkFBd0I7SUFJbkMsWUFBWSxhQUFpRCxFQUFFLE1BQWM7UUFDM0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBaUM7O1FBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksb0NBQXNCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sdUJBQXVCLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELElBQUksdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDckMsS0FBSyxNQUFNLG1CQUFtQixJQUFJLHVCQUF1QixFQUFFLENBQUM7WUFDMUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxVQUFVLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUYsTUFBTSxpQkFBaUIsR0FBRyxDQUFBLE1BQUMsTUFBQSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxNQUFjLDBDQUFFLFVBQVUsS0FBSSxFQUFFLENBQUM7WUFFNUYsSUFBSSxjQUFzQixDQUFDO1lBQzNCLElBQUksbUJBQW1CLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUEsZ0JBQU0sRUFBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxVQUFVLFNBQVMseUJBQXlCLG1CQUFtQixDQUFDLGNBQWMsYUFBYSxDQUFDLENBQUM7Z0JBQzNKLGNBQWMsR0FBRyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixtQkFBbUIsQ0FBQyxjQUFjLGVBQWUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUNwRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUNuRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQzdCLGNBQWMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsU0FBUyxxQ0FBcUMsVUFBVSx1REFBdUQsQ0FBQyxDQUFDO2dCQUM3SSxDQUFDO2dCQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUN0RixDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQXdCO2dCQUN4QyxXQUFXLEVBQUUsbUJBQW1CLENBQUMsV0FBVztnQkFDNUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO29CQUNyQixNQUFNLGVBQWUsR0FBRywrQ0FBc0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztvQkFDeEYsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLFVBQVUsU0FBUyx5QkFBeUIsY0FBYyxFQUFFLENBQUMsQ0FBQztvQkFDaEYsQ0FBQztvQkFDRCxPQUFPLGVBQWUsQ0FBQztnQkFDekIsQ0FBQzthQUNGLENBQUM7WUFDRixJQUFBLGdCQUFNLEVBQUMsWUFBWSxDQUFDLFdBQVcsS0FBSyw2QkFBZSxDQUFDLFFBQVEsRUFBRSx5REFBeUQsQ0FBQyxDQUFDO1lBQ3pILElBQUEsY0FBUSxFQUFDLG1DQUFnQixFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBRSxHQUFHLENBQUMsS0FBYSxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RyxDQUFDO0lBQ0gsQ0FBQztDQUVGO0FBakRELDREQWlEQyJ9
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25Qcm90b3R5cGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiVHJhbnNhY3Rpb25Qcm90b3R5cGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUdqQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBdUIsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ2xCLGFBQWEsQ0FBcUM7SUFDbEQsTUFBTSxDQUFTO0lBRWhDLFlBQVksYUFBaUQsRUFBRSxNQUFjO1FBQzNFLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQWlDO1FBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQXNCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sdUJBQXVCLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hELElBQUksdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDckMsS0FBSyxNQUFNLG1CQUFtQixJQUFJLHVCQUF1QixFQUFFLENBQUM7WUFDMUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxVQUFVLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUYsTUFBTSxpQkFBaUIsR0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQWMsRUFBRSxVQUFVLElBQUksRUFBRSxDQUFDO1lBRTVGLElBQUksY0FBc0IsQ0FBQztZQUMzQixJQUFJLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QyxNQUFNLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLEVBQUUsVUFBVSxTQUFTLHlCQUF5QixtQkFBbUIsQ0FBQyxjQUFjLGFBQWEsQ0FBQyxDQUFDO2dCQUMzSixjQUFjLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsbUJBQW1CLENBQUMsY0FBYyxlQUFlLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDcEcsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztnQkFDbkQsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUM3QixjQUFjLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLFNBQVMscUNBQXFDLFVBQVUsdURBQXVELENBQUMsQ0FBQztnQkFDN0ksQ0FBQztnQkFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDdEYsQ0FBQztZQUNELE1BQU0sWUFBWSxHQUF3QjtnQkFDeEMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLFdBQVc7Z0JBQzVDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtvQkFDckIsTUFBTSxlQUFlLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7b0JBQ3hGLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzt3QkFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLFNBQVMseUJBQXlCLGNBQWMsRUFBRSxDQUFDLENBQUM7b0JBQ2hGLENBQUM7b0JBQ0QsT0FBTyxlQUFlLENBQUM7Z0JBQ3pCLENBQUM7YUFDRixDQUFDO1lBQ0YsTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFXLEtBQUssZUFBZSxDQUFDLFFBQVEsRUFBRSx5REFBeUQsQ0FBQyxDQUFDO1lBQ3pILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUUsR0FBRyxDQUFDLEtBQWEsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekcsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
|
package/lib/TransactionalAOP.js
CHANGED
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const tegg_1 = require("@eggjs/tegg");
|
|
12
|
-
const transaction_1 = require("@eggjs/tegg/transaction");
|
|
7
|
+
import { Advice } from '@eggjs/tegg/aop';
|
|
8
|
+
import { AccessLevel, ObjectInitType } from '@eggjs/tegg';
|
|
9
|
+
import { PropagationType } from '@eggjs/tegg/transaction';
|
|
13
10
|
let TransactionalAOP = class TransactionalAOP {
|
|
14
11
|
async around(ctx, next) {
|
|
15
12
|
const { propagation, dataSourceGetter } = ctx.adviceParams;
|
|
16
13
|
const dataSource = dataSourceGetter();
|
|
17
|
-
if (propagation ===
|
|
14
|
+
if (propagation === PropagationType.ALWAYS_NEW) {
|
|
18
15
|
return await dataSource.beginTransactionScope(next);
|
|
19
16
|
}
|
|
20
17
|
return await dataSource.beginTransactionScope(next);
|
|
21
18
|
}
|
|
22
19
|
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
initType: tegg_1.ObjectInitType.SINGLETON,
|
|
20
|
+
TransactionalAOP = __decorate([
|
|
21
|
+
Advice({
|
|
22
|
+
accessLevel: AccessLevel.PUBLIC,
|
|
23
|
+
initType: ObjectInitType.SINGLETON,
|
|
28
24
|
})
|
|
29
25
|
], TransactionalAOP);
|
|
30
|
-
|
|
26
|
+
export { TransactionalAOP };
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNhY3Rpb25hbEFPUC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlRyYW5zYWN0aW9uYWxBT1AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBMEIsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFxQixjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBWW5ELElBQU0sZ0JBQWdCLEdBQXRCLE1BQU0sZ0JBQWdCO0lBQ3BCLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBMEQsRUFBRSxJQUF3QjtRQUN0RyxNQUFNLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsR0FBRyxDQUFDLFlBQWEsQ0FBQztRQUM1RCxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RDLElBQUksV0FBVyxLQUFLLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMvQyxPQUFPLE1BQU0sVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPLE1BQU0sVUFBVSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRixDQUFBO0FBVFksZ0JBQWdCO0lBSjVCLE1BQU0sQ0FBQztRQUNOLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMvQixRQUFRLEVBQUUsY0FBYyxDQUFDLFNBQVM7S0FDbkMsQ0FBQztHQUNXLGdCQUFnQixDQVM1QiJ9
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"eggModule": {
|
|
11
11
|
"name": "teggDal"
|
|
12
12
|
},
|
|
13
|
-
"version": "
|
|
13
|
+
"version": "4.0.0-beta.1",
|
|
14
14
|
"description": "dal plugin for egg",
|
|
15
15
|
"keywords": [
|
|
16
16
|
"egg",
|
|
@@ -27,15 +27,24 @@
|
|
|
27
27
|
"lib/**/*.d.ts",
|
|
28
28
|
"app/**/*.js",
|
|
29
29
|
"app/**/*.d.ts",
|
|
30
|
-
"
|
|
30
|
+
"index.js",
|
|
31
|
+
"index.d.ts"
|
|
31
32
|
],
|
|
32
|
-
"
|
|
33
|
+
"type": "module",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./index.d.ts",
|
|
37
|
+
"default": "./index.js"
|
|
38
|
+
},
|
|
39
|
+
"./package.json": "./package.json"
|
|
40
|
+
},
|
|
33
41
|
"scripts": {
|
|
34
|
-
"test": "
|
|
42
|
+
"test": "egg-bin test",
|
|
43
|
+
"cov": "egg-bin cov",
|
|
35
44
|
"clean": "tsc -b --clean",
|
|
36
|
-
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
37
|
-
"tsc:pub": "npm run
|
|
38
|
-
"prepublishOnly": "npm run tsc
|
|
45
|
+
"tsc": "npm run clean && tsc -p ./tsconfig.pub.json",
|
|
46
|
+
"tsc:pub": "npm run tsc",
|
|
47
|
+
"prepublishOnly": "npm run tsc"
|
|
39
48
|
},
|
|
40
49
|
"homepage": "https://github.com/eggjs/tegg",
|
|
41
50
|
"bugs": {
|
|
@@ -47,28 +56,27 @@
|
|
|
47
56
|
"directory": "plugin/dal"
|
|
48
57
|
},
|
|
49
58
|
"engines": {
|
|
50
|
-
"node": ">=
|
|
59
|
+
"node": ">=20.0.0"
|
|
51
60
|
},
|
|
52
61
|
"dependencies": {
|
|
53
|
-
"@eggjs/
|
|
62
|
+
"@eggjs/core": "^6.4.0",
|
|
63
|
+
"@eggjs/dal-runtime": "^4.0.0-beta.1"
|
|
54
64
|
},
|
|
55
65
|
"devDependencies": {
|
|
56
|
-
"@eggjs/
|
|
57
|
-
"@eggjs/tegg-
|
|
58
|
-
"@eggjs/tegg-
|
|
59
|
-
"@
|
|
60
|
-
"@
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"egg
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"ts-node": "^10.9.1",
|
|
68
|
-
"typescript": "^5.0.4"
|
|
66
|
+
"@eggjs/mock": "6",
|
|
67
|
+
"@eggjs/tegg-aop-plugin": "^4.0.0-beta.1",
|
|
68
|
+
"@eggjs/tegg-config": "^4.0.0-beta.1",
|
|
69
|
+
"@eggjs/tegg-plugin": "^4.0.0-beta.1",
|
|
70
|
+
"@eggjs/tracer": "3",
|
|
71
|
+
"@types/mocha": "10",
|
|
72
|
+
"@types/node": "22",
|
|
73
|
+
"egg": "4",
|
|
74
|
+
"globby": "14",
|
|
75
|
+
"ts-node": "10",
|
|
76
|
+
"typescript": "5"
|
|
69
77
|
},
|
|
70
78
|
"publishConfig": {
|
|
71
79
|
"access": "public"
|
|
72
80
|
},
|
|
73
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "79a22905272d6de7fe06152231dff65d213d9166"
|
|
74
82
|
}
|
package/typings/index.d.ts
DELETED