@eggjs/tegg-plugin 4.0.0-beta.7 → 4.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/extend/application.d.ts +47 -54
- package/dist/app/extend/application.js +79 -72
- package/dist/app/extend/application.unittest.d.ts +19 -23
- package/dist/app/extend/application.unittest.js +53 -41
- package/dist/app/extend/context.d.ts +17 -21
- package/dist/app/extend/context.js +34 -29
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +2 -5
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +3 -7
- package/dist/app.d.ts +16 -18
- package/dist/app.js +54 -48
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -4
- package/dist/lib/AppLoadUnit.d.ts +18 -22
- package/dist/lib/AppLoadUnit.js +89 -77
- package/dist/lib/AppLoadUnitInstance.d.ts +19 -23
- package/dist/lib/AppLoadUnitInstance.js +81 -68
- package/dist/lib/CompatibleUtil.d.ts +13 -17
- package/dist/lib/CompatibleUtil.js +95 -96
- package/dist/lib/ConfigSourceLoadUnitHook.d.ts +4 -9
- package/dist/lib/ConfigSourceLoadUnitHook.js +20 -21
- package/dist/lib/EggAppLoader.d.ts +15 -19
- package/dist/lib/EggAppLoader.js +127 -105
- package/dist/lib/EggCompatibleObject.d.ts +16 -19
- package/dist/lib/EggCompatibleObject.js +40 -35
- package/dist/lib/EggCompatibleProtoImpl.d.ts +20 -24
- package/dist/lib/EggCompatibleProtoImpl.js +52 -50
- package/dist/lib/EggContextCompatibleHook.d.ts +9 -13
- package/dist/lib/EggContextCompatibleHook.js +44 -32
- package/dist/lib/EggContextHandler.d.ts +8 -12
- package/dist/lib/EggContextHandler.js +26 -29
- package/dist/lib/EggContextImpl.d.ts +5 -9
- package/dist/lib/EggContextImpl.js +15 -18
- package/dist/lib/EggModuleLoader.d.ts +10 -14
- package/dist/lib/EggModuleLoader.js +53 -49
- package/dist/lib/EggQualifierProtoHook.d.ts +9 -13
- package/dist/lib/EggQualifierProtoHook.js +62 -48
- package/dist/lib/ModuleConfigLoader.d.ts +7 -11
- package/dist/lib/ModuleConfigLoader.js +80 -83
- package/dist/lib/ModuleHandler.d.ts +12 -16
- package/dist/lib/ModuleHandler.js +51 -44
- package/dist/lib/Utils.d.ts +1 -4
- package/dist/lib/Utils.js +33 -30
- package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -6
- package/dist/lib/ctx_lifecycle_middleware.js +31 -25
- package/dist/lib/run_in_background.d.ts +3 -7
- package/dist/lib/run_in_background.js +54 -48
- package/dist/types.d.ts +7 -6
- package/dist/types.js +3 -4
- package/package.json +12 -12
package/dist/app.js
CHANGED
|
@@ -1,57 +1,63 @@
|
|
|
1
1
|
import "./lib/AppLoadUnit.js";
|
|
2
2
|
import "./lib/AppLoadUnitInstance.js";
|
|
3
3
|
import "./lib/EggCompatibleObject.js";
|
|
4
|
+
import { LoadUnitMultiInstanceProtoHook } from '@eggjs/tegg-metadata';
|
|
5
|
+
import { EggContextCompatibleHook } from "./lib/EggContextCompatibleHook.js";
|
|
4
6
|
import { CompatibleUtil } from "./lib/CompatibleUtil.js";
|
|
5
7
|
import { ModuleHandler } from "./lib/ModuleHandler.js";
|
|
6
|
-
import { EggContextCompatibleHook } from "./lib/EggContextCompatibleHook.js";
|
|
7
8
|
import { EggContextHandler } from "./lib/EggContextHandler.js";
|
|
8
9
|
import { hijackRunInBackground } from "./lib/run_in_background.js";
|
|
9
10
|
import { EggQualifierProtoHook } from "./lib/EggQualifierProtoHook.js";
|
|
10
11
|
import { ConfigSourceLoadUnitHook } from "./lib/ConfigSourceLoadUnitHook.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
12
|
+
export default class App {
|
|
13
|
+
app;
|
|
14
|
+
compatibleHook;
|
|
15
|
+
eggContextHandler;
|
|
16
|
+
eggQualifierProtoHook;
|
|
17
|
+
loadUnitMultiInstanceProtoHook;
|
|
18
|
+
configSourceEggPrototypeHook;
|
|
19
|
+
constructor(app) {
|
|
20
|
+
this.app = app;
|
|
21
|
+
}
|
|
22
|
+
configWillLoad() {
|
|
23
|
+
this.app.config.coreMiddleware.push('teggCtxLifecycleMiddleware');
|
|
24
|
+
}
|
|
25
|
+
configDidLoad() {
|
|
26
|
+
this.eggContextHandler = new EggContextHandler(this.app);
|
|
27
|
+
this.app.eggContextHandler = this.eggContextHandler;
|
|
28
|
+
this.eggContextHandler.register();
|
|
29
|
+
this.app.moduleHandler = new ModuleHandler(this.app);
|
|
30
|
+
}
|
|
31
|
+
async didLoad() {
|
|
32
|
+
hijackRunInBackground(this.app);
|
|
33
|
+
this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
|
|
34
|
+
this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
35
|
+
// wait all file loaded, so app/ctx has all properties
|
|
36
|
+
this.eggQualifierProtoHook = new EggQualifierProtoHook(this.app);
|
|
37
|
+
this.app.loadUnitLifecycleUtil.registerLifecycle(this.eggQualifierProtoHook);
|
|
38
|
+
this.configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
|
|
39
|
+
this.app.loadUnitLifecycleUtil.registerLifecycle(this.configSourceEggPrototypeHook);
|
|
40
|
+
// start load tegg objects
|
|
41
|
+
await this.app.moduleHandler.init();
|
|
42
|
+
this.compatibleHook = new EggContextCompatibleHook(this.app.moduleHandler);
|
|
43
|
+
this.app.eggContextLifecycleUtil.registerLifecycle(this.compatibleHook);
|
|
44
|
+
}
|
|
45
|
+
async beforeClose() {
|
|
46
|
+
CompatibleUtil.clean();
|
|
47
|
+
await this.app.moduleHandler.destroy();
|
|
48
|
+
if (this.compatibleHook) {
|
|
49
|
+
this.app.eggContextLifecycleUtil.deleteLifecycle(this.compatibleHook);
|
|
50
|
+
}
|
|
51
|
+
if (this.eggQualifierProtoHook) {
|
|
52
|
+
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.eggQualifierProtoHook);
|
|
53
|
+
}
|
|
54
|
+
if (this.configSourceEggPrototypeHook) {
|
|
55
|
+
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
|
|
56
|
+
}
|
|
57
|
+
if (this.loadUnitMultiInstanceProtoHook) {
|
|
58
|
+
this.app.loadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
59
|
+
}
|
|
60
|
+
LoadUnitMultiInstanceProtoHook.clear();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sOEJBQThCLENBQUM7QUFDdEMsT0FBTyw4QkFBOEIsQ0FBQztBQUd0QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sR0FBRztJQUNMLEdBQUcsQ0FBYztJQUMxQixjQUFjLENBQTRCO0lBQzFDLGlCQUFpQixDQUFvQjtJQUNyQyxxQkFBcUIsQ0FBd0I7SUFDN0MsOEJBQThCLENBQWlDO0lBQy9ELDRCQUE0QixDQUEyQjtJQUUvRCxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPO1FBQ1gscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxJQUFJLDhCQUE4QixFQUFFLENBQUM7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUV0RixzREFBc0Q7UUFDdEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFN0UsSUFBSSxDQUFDLDRCQUE0QixHQUFHLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBRXBGLDBCQUEwQjtRQUMxQixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsOEJBQThCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBQ0QsOEJBQThCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGIn0=
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import "./app/extend/context.js";
|
|
2
|
-
import "./app/extend/application.js";
|
|
3
1
|
import "./types.js";
|
|
4
|
-
|
|
5
|
-
export
|
|
2
|
+
export * from "./app/extend/application.js";
|
|
3
|
+
export * from "./app/extend/context.js";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUM7QUFFcEIsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDIn0=
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import { EggLoadUnitTypeLike, EggPrototype, LoadUnit, LoadUnitLifecycleContext
|
|
2
|
-
import { Id, QualifierInfo } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
iterateEggPrototype(): IterableIterator<EggPrototype>;
|
|
20
|
-
static createModule(ctx: LoadUnitLifecycleContext): AppLoadUnit;
|
|
1
|
+
import { type EggLoadUnitTypeLike, type EggPrototype, type Loader, type LoadUnit, type LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
|
|
2
|
+
import { type Id, type QualifierInfo } from '@eggjs/tegg';
|
|
3
|
+
export declare class AppLoadUnit implements LoadUnit {
|
|
4
|
+
private readonly loader;
|
|
5
|
+
id: Id;
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly type: EggLoadUnitTypeLike;
|
|
8
|
+
readonly unitPath: string;
|
|
9
|
+
private protoMap;
|
|
10
|
+
constructor(name: string, unitPath: string, loader: Loader);
|
|
11
|
+
init(): Promise<void>;
|
|
12
|
+
containPrototype(proto: EggPrototype): boolean;
|
|
13
|
+
getEggPrototype(name: string, qualifiers: QualifierInfo[]): EggPrototype[];
|
|
14
|
+
registerEggPrototype(proto: EggPrototype): void;
|
|
15
|
+
deletePrototype(proto: EggPrototype): void;
|
|
16
|
+
destroy(): Promise<void>;
|
|
17
|
+
iterateEggPrototype(): IterableIterator<EggPrototype>;
|
|
18
|
+
static createModule(ctx: LoadUnitLifecycleContext): AppLoadUnit;
|
|
21
19
|
}
|
|
22
|
-
//#endregion
|
|
23
|
-
export { AppLoadUnit };
|
package/dist/lib/AppLoadUnit.js
CHANGED
|
@@ -1,78 +1,90 @@
|
|
|
1
|
-
import { debuglog } from
|
|
2
|
-
import { EggLoadUnitType,
|
|
3
|
-
import { IdenticalUtil, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute,
|
|
4
|
-
import { MapUtil } from
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import { EggLoadUnitType, EggPrototypeFactory, LoadUnitFactory, EggPrototypeCreatorFactory, } from '@eggjs/tegg-metadata';
|
|
3
|
+
import { IdenticalUtil, PrototypeUtil, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, QualifierUtil, } from '@eggjs/tegg';
|
|
4
|
+
import { MapUtil } from '@eggjs/tegg-common-util';
|
|
5
|
+
const debug = debuglog('tegg/plugin/tegg/lib/AppLoadUnit');
|
|
6
|
+
export class AppLoadUnit {
|
|
7
|
+
loader;
|
|
8
|
+
id;
|
|
9
|
+
name;
|
|
10
|
+
type = EggLoadUnitType.APP;
|
|
11
|
+
unitPath;
|
|
12
|
+
protoMap = new Map();
|
|
13
|
+
constructor(name, unitPath, loader) {
|
|
14
|
+
this.id = IdenticalUtil.createLoadUnitId(name);
|
|
15
|
+
this.name = name;
|
|
16
|
+
this.unitPath = unitPath;
|
|
17
|
+
this.loader = loader;
|
|
18
|
+
}
|
|
19
|
+
async init() {
|
|
20
|
+
const clazzList = await this.loader.load();
|
|
21
|
+
if (debug.enabled) {
|
|
22
|
+
debug('init, get clazzList:%j, from unitPath:%o:%o:%o', clazzList.map(t => t.name), this.type, this.name, this.unitPath);
|
|
23
|
+
}
|
|
24
|
+
for (const clazz of clazzList) {
|
|
25
|
+
// TODO duplicate code, same in ModuleLoadUnit
|
|
26
|
+
const initTypeQualifierAttributeValue = await PrototypeUtil.getInitType(clazz, {
|
|
27
|
+
unitPath: this.unitPath,
|
|
28
|
+
moduleName: this.name,
|
|
29
|
+
});
|
|
30
|
+
const defaultQualifier = [{
|
|
31
|
+
attribute: InitTypeQualifierAttribute,
|
|
32
|
+
value: initTypeQualifierAttributeValue,
|
|
33
|
+
}, {
|
|
34
|
+
attribute: LoadUnitNameQualifierAttribute,
|
|
35
|
+
value: this.name,
|
|
36
|
+
}];
|
|
37
|
+
defaultQualifier.forEach(qualifier => {
|
|
38
|
+
QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
|
|
39
|
+
});
|
|
40
|
+
const protos = await EggPrototypeCreatorFactory.createProto(clazz, this);
|
|
41
|
+
for (const proto of protos) {
|
|
42
|
+
EggPrototypeFactory.instance.registerPrototype(proto, this);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
containPrototype(proto) {
|
|
47
|
+
return !!(this.protoMap.get(proto.name)?.find(t => t === proto));
|
|
48
|
+
}
|
|
49
|
+
getEggPrototype(name, qualifiers) {
|
|
50
|
+
const protos = this.protoMap.get(name);
|
|
51
|
+
return protos?.filter(proto => proto.verifyQualifiers(qualifiers)) || [];
|
|
52
|
+
}
|
|
53
|
+
registerEggPrototype(proto) {
|
|
54
|
+
const protoList = MapUtil.getOrStore(this.protoMap, proto.name, []);
|
|
55
|
+
protoList.push(proto);
|
|
56
|
+
}
|
|
57
|
+
deletePrototype(proto) {
|
|
58
|
+
const protos = this.protoMap.get(proto.name);
|
|
59
|
+
if (protos) {
|
|
60
|
+
const index = protos.indexOf(proto);
|
|
61
|
+
if (index !== -1) {
|
|
62
|
+
protos.splice(index, 1);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async destroy() {
|
|
67
|
+
for (const namedProtos of this.protoMap.values()) {
|
|
68
|
+
// Delete prototype will delete item
|
|
69
|
+
// array iterator is not safe
|
|
70
|
+
const protos = namedProtos.slice();
|
|
71
|
+
for (const proto of protos) {
|
|
72
|
+
EggPrototypeFactory.instance.deletePrototype(proto, this);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
this.protoMap.clear();
|
|
76
|
+
}
|
|
77
|
+
iterateEggPrototype() {
|
|
78
|
+
const protos = Array.from(this.protoMap.values())
|
|
79
|
+
.reduce((p, c) => {
|
|
80
|
+
p = p.concat(c);
|
|
81
|
+
return p;
|
|
82
|
+
}, []);
|
|
83
|
+
return protos.values();
|
|
84
|
+
}
|
|
85
|
+
static createModule(ctx) {
|
|
86
|
+
return new AppLoadUnit('tegg-app', ctx.unitPath, ctx.loader);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
75
89
|
LoadUnitFactory.registerLoadUnitCreator(EggLoadUnitType.APP, AppLoadUnit.createModule);
|
|
76
|
-
|
|
77
|
-
//#endregion
|
|
78
|
-
export { AppLoadUnit };
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0FwcExvYWRVbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUNMLGVBQWUsRUFHZixtQkFBbUIsRUFHbkIsZUFBZSxFQUVmLDBCQUEwQixHQUMzQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFFTCxhQUFhLEVBR2IsYUFBYSxFQUNiLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLGFBQWEsR0FDMUUsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRTNELE1BQU0sT0FBTyxXQUFXO0lBQ0wsTUFBTSxDQUFTO0lBQ2hDLEVBQUUsQ0FBSztJQUNFLElBQUksQ0FBUztJQUNiLElBQUksR0FBd0IsZUFBZSxDQUFDLEdBQUcsQ0FBQztJQUNoRCxRQUFRLENBQVM7SUFDbEIsUUFBUSxHQUEwQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXBFLFlBQVksSUFBWSxFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUN4RCxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0MsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLGdEQUFnRCxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzSCxDQUFDO1FBQ0QsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM5Qiw4Q0FBOEM7WUFDOUMsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO2dCQUM3RSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTthQUN0QixDQUFDLENBQUM7WUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUM7b0JBQ3hCLFNBQVMsRUFBRSwwQkFBMEI7b0JBQ3JDLEtBQUssRUFBRSwrQkFBZ0M7aUJBQ3hDLEVBQUU7b0JBQ0QsU0FBUyxFQUFFLDhCQUE4QjtvQkFDekMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNqQixDQUFDLENBQUM7WUFDSCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ25DLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0UsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDekUsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDM0IsbUJBQW1CLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFtQjtRQUNsQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxVQUEyQjtRQUN2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxPQUFPLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQW1CO1FBQ3RDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFtQjtRQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNqRCxvQ0FBb0M7WUFDcEMsNkJBQTZCO1lBQzdCLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUMzQixtQkFBbUIsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM1RCxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixNQUFNLE1BQU0sR0FBbUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzlELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNmLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsT0FBTyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBNkI7UUFDL0MsT0FBTyxJQUFJLFdBQVcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBRUQsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDIn0=
|
|
@@ -1,24 +1,20 @@
|
|
|
1
|
-
import { EggPrototype, LoadUnit } from
|
|
2
|
-
import { EggObjectName, EggPrototypeName } from
|
|
3
|
-
import { EggObject, LoadUnitInstance, LoadUnitInstanceLifecycleContext } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
getEggObject(name: EggPrototypeName, proto: EggPrototype): EggObject;
|
|
21
|
-
static createModuleLoadUnitInstance(ctx: LoadUnitInstanceLifecycleContext): LoadUnitInstance;
|
|
1
|
+
import { type EggPrototype, type LoadUnit } from '@eggjs/tegg-metadata';
|
|
2
|
+
import { type EggObjectName, type EggPrototypeName } from '@eggjs/tegg';
|
|
3
|
+
import { type EggObject, type LoadUnitInstance, type LoadUnitInstanceLifecycleContext } from '@eggjs/tegg-runtime';
|
|
4
|
+
export declare class AppLoadUnitInstance implements LoadUnitInstance {
|
|
5
|
+
readonly loadUnit: LoadUnit;
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly name: string;
|
|
8
|
+
private protoToCreateMap;
|
|
9
|
+
private eggObjectMap;
|
|
10
|
+
private eggObjectPromiseMap;
|
|
11
|
+
constructor(loadUnit: LoadUnit);
|
|
12
|
+
iterateProtoToCreate(): IterableIterator<[EggObjectName, EggPrototype]>;
|
|
13
|
+
addProtoToCreate(name: string, proto: EggPrototype): void;
|
|
14
|
+
deleteProtoToCreate(name: string): void;
|
|
15
|
+
init(ctx: LoadUnitInstanceLifecycleContext): Promise<void>;
|
|
16
|
+
destroy(): Promise<void>;
|
|
17
|
+
getOrCreateEggObject(name: EggPrototypeName, proto: EggPrototype): Promise<EggObject>;
|
|
18
|
+
getEggObject(name: EggPrototypeName, proto: EggPrototype): EggObject;
|
|
19
|
+
static createModuleLoadUnitInstance(ctx: LoadUnitInstanceLifecycleContext): LoadUnitInstance;
|
|
22
20
|
}
|
|
23
|
-
//#endregion
|
|
24
|
-
export { AppLoadUnitInstance };
|
|
@@ -1,69 +1,82 @@
|
|
|
1
|
-
import { EggLoadUnitType } from
|
|
2
|
-
import {
|
|
3
|
-
import { MapUtil } from
|
|
4
|
-
import { EggObjectFactory, LoadUnitInstanceFactory, LoadUnitInstanceLifecycleUtil } from
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
1
|
+
import { EggLoadUnitType } from '@eggjs/tegg-metadata';
|
|
2
|
+
import { ObjectInitType, IdenticalUtil } from '@eggjs/tegg';
|
|
3
|
+
import { MapUtil } from '@eggjs/tegg-common-util';
|
|
4
|
+
import { EggObjectFactory, LoadUnitInstanceFactory, LoadUnitInstanceLifecycleUtil, } from '@eggjs/tegg-runtime';
|
|
5
|
+
export class AppLoadUnitInstance {
|
|
6
|
+
loadUnit;
|
|
7
|
+
id;
|
|
8
|
+
name;
|
|
9
|
+
protoToCreateMap = new Map();
|
|
10
|
+
eggObjectMap = new Map();
|
|
11
|
+
eggObjectPromiseMap = new Map();
|
|
12
|
+
constructor(loadUnit) {
|
|
13
|
+
this.loadUnit = loadUnit;
|
|
14
|
+
this.name = loadUnit.name;
|
|
15
|
+
const iterator = this.loadUnit.iterateEggPrototype();
|
|
16
|
+
for (const proto of iterator) {
|
|
17
|
+
if (proto.initType === ObjectInitType.SINGLETON) {
|
|
18
|
+
this.protoToCreateMap.set(proto.name, proto);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
this.id = IdenticalUtil.createLoadUnitInstanceId(loadUnit.id);
|
|
22
|
+
}
|
|
23
|
+
iterateProtoToCreate() {
|
|
24
|
+
return this.protoToCreateMap.entries();
|
|
25
|
+
}
|
|
26
|
+
addProtoToCreate(name, proto) {
|
|
27
|
+
this.protoToCreateMap.set(name, proto);
|
|
28
|
+
}
|
|
29
|
+
deleteProtoToCreate(name) {
|
|
30
|
+
this.protoToCreateMap.delete(name);
|
|
31
|
+
}
|
|
32
|
+
async init(ctx) {
|
|
33
|
+
await LoadUnitInstanceLifecycleUtil.objectPreCreate(ctx, this);
|
|
34
|
+
for (const [name, proto] of this.protoToCreateMap) {
|
|
35
|
+
await this.getOrCreateEggObject(name, proto);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async destroy() {
|
|
39
|
+
const objs = [];
|
|
40
|
+
for (const protoObjMap of this.eggObjectMap.values()) {
|
|
41
|
+
for (const protoObj of protoObjMap.values()) {
|
|
42
|
+
objs.push(protoObj);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
this.eggObjectMap.clear();
|
|
46
|
+
await Promise.all(objs.map(async (obj) => {
|
|
47
|
+
await EggObjectFactory.destroyObject(obj);
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
async getOrCreateEggObject(name, proto) {
|
|
51
|
+
if (!this.loadUnit.containPrototype(proto)) {
|
|
52
|
+
throw new Error('load unit not contain proto');
|
|
53
|
+
}
|
|
54
|
+
const protoObjMap = MapUtil.getOrStore(this.eggObjectMap, proto.id, new Map());
|
|
55
|
+
if (!protoObjMap.has(name)) {
|
|
56
|
+
const protoObjPromiseMap = MapUtil.getOrStore(this.eggObjectPromiseMap, proto.id, new Map());
|
|
57
|
+
if (!protoObjPromiseMap.has(name)) {
|
|
58
|
+
const objPromise = EggObjectFactory.createObject(name, proto);
|
|
59
|
+
protoObjPromiseMap.set(name, objPromise);
|
|
60
|
+
const obj = await objPromise;
|
|
61
|
+
protoObjPromiseMap.delete(name);
|
|
62
|
+
protoObjMap.set(name, obj);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
await protoObjPromiseMap.get(name);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return protoObjMap.get(name);
|
|
69
|
+
}
|
|
70
|
+
getEggObject(name, proto) {
|
|
71
|
+
const protoObjMap = this.eggObjectMap.get(proto.id);
|
|
72
|
+
if (!protoObjMap || !protoObjMap.has(name)) {
|
|
73
|
+
throw new Error(`EggObject ${String(proto.name)} not found`);
|
|
74
|
+
}
|
|
75
|
+
return protoObjMap.get(name);
|
|
76
|
+
}
|
|
77
|
+
static createModuleLoadUnitInstance(ctx) {
|
|
78
|
+
return new AppLoadUnitInstance(ctx.loadUnit);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
66
81
|
LoadUnitInstanceFactory.registerLoadUnitInstanceClass(EggLoadUnitType.APP, AppLoadUnitInstance.createModuleLoadUnitInstance);
|
|
67
|
-
|
|
68
|
-
//#endregion
|
|
69
|
-
export { AppLoadUnitInstance };
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvQXBwTG9hZFVuaXRJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFvQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBNkMsY0FBYyxFQUFXLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUNXLGdCQUFnQixFQUVoQyx1QkFBdUIsRUFDZ0IsNkJBQTZCLEdBQ3JFLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixRQUFRLENBQVc7SUFDbkIsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFTO0lBQ2QsZ0JBQWdCLEdBQXdDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbEUsWUFBWSxHQUE4QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BFLG1CQUFtQixHQUF1RCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTVGLFlBQVksUUFBa0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNyRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxFQUFFLEdB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
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
static contextModuleCompatible(ctx: Context, loadUnitInstances: LoadUnitInstance[]): void;
|
|
15
|
-
static clean(): void;
|
|
1
|
+
import { Application, Context } from 'egg';
|
|
2
|
+
import { type EggPrototype } from '@eggjs/tegg-metadata';
|
|
3
|
+
import { type LoadUnitInstance } from '@eggjs/tegg-runtime';
|
|
4
|
+
export declare class CompatibleUtil {
|
|
5
|
+
static singletonProtoCache: Map<PropertyKey, EggPrototype>;
|
|
6
|
+
static requestProtoCache: Map<PropertyKey, EggPrototype>;
|
|
7
|
+
static getSingletonProto(name: PropertyKey): EggPrototype;
|
|
8
|
+
static getRequestProto(name: PropertyKey): EggPrototype;
|
|
9
|
+
private static singletonModuleProxyFactory;
|
|
10
|
+
static appCompatible(app: Application, loadUnitInstance: LoadUnitInstance): void;
|
|
11
|
+
static contextModuleProxyFactory(holder: Record<string, any>, ctx: Context, loadUnitInstance: LoadUnitInstance): any;
|
|
12
|
+
static contextModuleCompatible(ctx: Context, loadUnitInstances: LoadUnitInstance[]): void;
|
|
13
|
+
static clean(): void;
|
|
16
14
|
}
|
|
17
|
-
//#endregion
|
|
18
|
-
export { CompatibleUtil };
|