@eggjs/tegg-plugin 4.0.0-beta.34 → 4.0.0-beta.36
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 +28 -24
- package/dist/app/extend/application.js +69 -75
- package/dist/app/extend/application.unittest.d.ts +9 -5
- package/dist/app/extend/application.unittest.js +39 -50
- package/dist/app/extend/context.d.ts +12 -8
- package/dist/app/extend/context.js +27 -32
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +5 -2
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +7 -3
- package/dist/app.d.ts +20 -16
- package/dist/app.js +50 -57
- package/dist/index.d.ts +3 -3
- package/dist/index.js +4 -3
- package/dist/lib/AppLoadUnit.d.ts +23 -19
- package/dist/lib/AppLoadUnit.js +77 -92
- package/dist/lib/AppLoadUnitInstance.d.ts +23 -19
- package/dist/lib/AppLoadUnitInstance.js +69 -82
- package/dist/lib/CompatibleUtil.d.ts +22 -18
- package/dist/lib/CompatibleUtil.js +99 -104
- package/dist/lib/ConfigSourceLoadUnitHook.d.ts +13 -8
- package/dist/lib/ConfigSourceLoadUnitHook.js +20 -19
- package/dist/lib/EggAppLoader.d.ts +19 -15
- package/dist/lib/EggAppLoader.js +104 -115
- package/dist/lib/EggCompatibleObject.d.ts +19 -15
- package/dist/lib/EggCompatibleObject.js +34 -41
- package/dist/lib/EggCompatibleProtoImpl.d.ts +25 -21
- package/dist/lib/EggCompatibleProtoImpl.js +49 -52
- package/dist/lib/EggContextCompatibleHook.d.ts +13 -9
- package/dist/lib/EggContextCompatibleHook.js +32 -44
- package/dist/lib/EggContextHandler.d.ts +12 -8
- package/dist/lib/EggContextHandler.js +28 -25
- package/dist/lib/EggContextImpl.d.ts +9 -5
- package/dist/lib/EggContextImpl.js +18 -15
- package/dist/lib/EggModuleLoader.d.ts +14 -10
- package/dist/lib/EggModuleLoader.js +48 -52
- package/dist/lib/EggQualifierProtoHook.d.ts +13 -9
- package/dist/lib/EggQualifierProtoHook.js +46 -60
- package/dist/lib/ModuleConfigLoader.d.ts +11 -7
- package/dist/lib/ModuleConfigLoader.js +81 -79
- package/dist/lib/ModuleHandler.d.ts +16 -12
- package/dist/lib/ModuleHandler.js +44 -51
- package/dist/lib/Utils.d.ts +4 -1
- package/dist/lib/Utils.js +30 -33
- package/dist/lib/ctx_lifecycle_middleware.d.ts +6 -2
- package/dist/lib/ctx_lifecycle_middleware.js +24 -30
- package/dist/lib/run_in_background.d.ts +7 -3
- package/dist/lib/run_in_background.js +46 -54
- package/dist/types.d.ts +54 -53
- package/dist/types.js +3 -2
- package/package.json +47 -51
|
@@ -1,25 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
1
|
+
import { EggProtoImplClass, QualifierInfo } from "@eggjs/core-decorator";
|
|
2
|
+
import { IdenticalUtil } from "@eggjs/lifecycle";
|
|
3
|
+
import { EggPrototypeCreatorFactory, EggPrototypeFactory, EggPrototypeLifecycleUtil, LoadUnitFactory, LoadUnitLifecycleUtil } from "@eggjs/metadata";
|
|
4
|
+
import { AbstractEggContext, EggContainerFactory, EggContextLifecycleUtil, EggObjectFactory, EggObjectLifecycleUtil, LoadUnitInstanceFactory, LoadUnitInstanceLifecycleUtil } from "@eggjs/tegg-runtime";
|
|
5
|
+
import { LoaderFactory } from "@eggjs/tegg-loader";
|
|
6
|
+
import { RuntimeConfig } from "@eggjs/tegg-types";
|
|
7
|
+
|
|
8
|
+
//#region src/app/extend/application.d.ts
|
|
9
|
+
declare class TEggPluginApplication {
|
|
10
|
+
get eggPrototypeCreatorFactory(): typeof EggPrototypeCreatorFactory;
|
|
11
|
+
get eggPrototypeFactory(): EggPrototypeFactory;
|
|
12
|
+
get loadUnitLifecycleUtil(): typeof LoadUnitLifecycleUtil;
|
|
13
|
+
get loadUnitFactory(): typeof LoadUnitFactory;
|
|
14
|
+
get eggObjectFactory(): typeof EggObjectFactory;
|
|
15
|
+
get loadUnitInstanceFactory(): typeof LoadUnitInstanceFactory;
|
|
16
|
+
get loadUnitInstanceLifecycleUtil(): typeof LoadUnitInstanceLifecycleUtil;
|
|
17
|
+
get eggContainerFactory(): typeof EggContainerFactory;
|
|
18
|
+
get loaderFactory(): typeof LoaderFactory;
|
|
19
|
+
get eggPrototypeLifecycleUtil(): typeof EggPrototypeLifecycleUtil;
|
|
20
|
+
get eggContextLifecycleUtil(): typeof EggContextLifecycleUtil;
|
|
21
|
+
get eggObjectLifecycleUtil(): typeof EggObjectLifecycleUtil;
|
|
22
|
+
get abstractEggContext(): typeof AbstractEggContext;
|
|
23
|
+
get identicalUtil(): typeof IdenticalUtil;
|
|
24
|
+
get runtimeConfig(): RuntimeConfig;
|
|
25
|
+
getEggObject<T>(clazz: EggProtoImplClass<T>, name?: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<T>;
|
|
26
|
+
getEggObjectFromName<T extends object>(name: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<T>;
|
|
25
27
|
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { TEggPluginApplication as default };
|
|
@@ -1,75 +1,69 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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
|
-
const eggObject = await EggContainerFactory.getOrCreateEggObjectFromName(name, qualifiers);
|
|
72
|
-
return eggObject.obj;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4dGVuZC9hcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHFCQUFxQixHQUN0QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0Qiw2QkFBNkIsR0FDOUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR2pELE1BQU0sQ0FBQyxPQUFPLE9BQU8scUJBQXFCO0lBQ3hDLDBEQUEwRDtJQUMxRCxzQ0FBc0M7SUFDdEMsNERBQTREO0lBQzVELGtDQUFrQztJQUNsQyxJQUFJLDBCQUEwQjtRQUM1QixPQUFPLDBCQUEwQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBSSxxQkFBcUI7UUFDdkIsT0FBTyxxQkFBcUIsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLHVCQUF1QixDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLDZCQUE2QjtRQUMvQixPQUFPLDZCQUE2QixDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyx5QkFBeUIsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE1BQU0sTUFBTSxHQUFJLElBQStCLENBQUMsTUFBTSxDQUFDO1FBQ3ZELE9BQU87WUFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87WUFDdkIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO1lBQ2YsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FDaEIsS0FBMkIsRUFDM0IsSUFBYSxFQUNiLFVBQTRDO1FBRTVDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLG1CQUFtQixDQUFDLDZCQUE2QixDQUN2RSxLQUEwQixFQUMxQixJQUFJLEVBQ0osVUFBNkIsQ0FDOUIsQ0FBQztRQUNGLE9BQU8sU0FBUyxDQUFDLEdBQVEsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFtQixJQUFZLEVBQUUsVUFBNEM7UUFDckcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsNEJBQTRCLENBQUMsSUFBSSxFQUFFLFVBQTZCLENBQUMsQ0FBQztRQUM5RyxPQUFPLFNBQVMsQ0FBQyxHQUFRLENBQUM7SUFDNUIsQ0FBQztDQUNGIn0=
|
|
1
|
+
import { IdenticalUtil } from "@eggjs/lifecycle";
|
|
2
|
+
import { EggPrototypeCreatorFactory, EggPrototypeFactory, EggPrototypeLifecycleUtil, LoadUnitFactory, LoadUnitLifecycleUtil } from "@eggjs/metadata";
|
|
3
|
+
import { AbstractEggContext, EggContainerFactory, EggContextLifecycleUtil, EggObjectFactory, EggObjectLifecycleUtil, LoadUnitInstanceFactory, LoadUnitInstanceLifecycleUtil } from "@eggjs/tegg-runtime";
|
|
4
|
+
import { LoaderFactory } from "@eggjs/tegg-loader";
|
|
5
|
+
|
|
6
|
+
//#region src/app/extend/application.ts
|
|
7
|
+
var TEggPluginApplication = class {
|
|
8
|
+
get eggPrototypeCreatorFactory() {
|
|
9
|
+
return EggPrototypeCreatorFactory;
|
|
10
|
+
}
|
|
11
|
+
get eggPrototypeFactory() {
|
|
12
|
+
return EggPrototypeFactory.instance;
|
|
13
|
+
}
|
|
14
|
+
get loadUnitLifecycleUtil() {
|
|
15
|
+
return LoadUnitLifecycleUtil;
|
|
16
|
+
}
|
|
17
|
+
get loadUnitFactory() {
|
|
18
|
+
return LoadUnitFactory;
|
|
19
|
+
}
|
|
20
|
+
get eggObjectFactory() {
|
|
21
|
+
return EggObjectFactory;
|
|
22
|
+
}
|
|
23
|
+
get loadUnitInstanceFactory() {
|
|
24
|
+
return LoadUnitInstanceFactory;
|
|
25
|
+
}
|
|
26
|
+
get loadUnitInstanceLifecycleUtil() {
|
|
27
|
+
return LoadUnitInstanceLifecycleUtil;
|
|
28
|
+
}
|
|
29
|
+
get eggContainerFactory() {
|
|
30
|
+
return EggContainerFactory;
|
|
31
|
+
}
|
|
32
|
+
get loaderFactory() {
|
|
33
|
+
return LoaderFactory;
|
|
34
|
+
}
|
|
35
|
+
get eggPrototypeLifecycleUtil() {
|
|
36
|
+
return EggPrototypeLifecycleUtil;
|
|
37
|
+
}
|
|
38
|
+
get eggContextLifecycleUtil() {
|
|
39
|
+
return EggContextLifecycleUtil;
|
|
40
|
+
}
|
|
41
|
+
get eggObjectLifecycleUtil() {
|
|
42
|
+
return EggObjectLifecycleUtil;
|
|
43
|
+
}
|
|
44
|
+
get abstractEggContext() {
|
|
45
|
+
return AbstractEggContext;
|
|
46
|
+
}
|
|
47
|
+
get identicalUtil() {
|
|
48
|
+
return IdenticalUtil;
|
|
49
|
+
}
|
|
50
|
+
get runtimeConfig() {
|
|
51
|
+
const config = this.config;
|
|
52
|
+
return {
|
|
53
|
+
baseDir: config.baseDir,
|
|
54
|
+
env: config.env,
|
|
55
|
+
name: config.name
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
async getEggObject(clazz, name, qualifiers) {
|
|
59
|
+
if (qualifiers) qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
|
|
60
|
+
return (await EggContainerFactory.getOrCreateEggObjectFromClazz(clazz, name, qualifiers)).obj;
|
|
61
|
+
}
|
|
62
|
+
async getEggObjectFromName(name, qualifiers) {
|
|
63
|
+
if (qualifiers) qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
|
|
64
|
+
return (await EggContainerFactory.getOrCreateEggObjectFromName(name, qualifiers)).obj;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
//#endregion
|
|
69
|
+
export { TEggPluginApplication as default };
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Application, Context } from "egg";
|
|
2
|
+
|
|
3
|
+
//#region src/app/extend/application.unittest.d.ts
|
|
4
|
+
declare class TEggPluginApplicationUnittest {
|
|
5
|
+
mockModuleContext(this: Application, data?: any): Promise<Context>;
|
|
6
|
+
destroyModuleContext(this: Application, ctx: Context): Promise<void>;
|
|
7
|
+
mockModuleContextScope<R = any>(fn: (ctx: Context) => Promise<R>, data?: any): Promise<R>;
|
|
6
8
|
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { TEggPluginApplicationUnittest as default };
|
|
@@ -1,52 +1,41 @@
|
|
|
1
1
|
import { EggContextImpl } from "../../lib/EggContextImpl.js";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
//#region src/app/extend/application.unittest.ts
|
|
4
|
+
const TEGG_LIFECYCLE_CACHE = /* @__PURE__ */ new Map();
|
|
3
5
|
let hasMockModuleContext = false;
|
|
4
|
-
|
|
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
|
-
if (teggCtx.init) {
|
|
41
|
-
await teggCtx.init(lifecycle);
|
|
42
|
-
}
|
|
43
|
-
try {
|
|
44
|
-
return await fn(ctx);
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
await teggCtx.destroy(lifecycle);
|
|
48
|
-
}
|
|
49
|
-
}, data);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24udW5pdHRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4dGVuZC9hcHBsaWNhdGlvbi51bml0dGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0QsTUFBTSxvQkFBb0IsR0FBZ0QsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUVwRixJQUFJLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUVqQyxNQUFNLENBQUMsT0FBTyxPQUFPLDZCQUE2QjtJQUNoRCxLQUFLLENBQUMsaUJBQWlCLENBQW9CLElBQVU7UUFDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO1FBQ25GLElBQUksb0JBQW9CLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELDRDQUE0QztRQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBWSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNyQixvQkFBb0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0Qsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQzVCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBb0IsR0FBWTtRQUN4RCxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFFN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFLENBQUM7WUFDakMsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUFVLEVBQWdDLEVBQUUsSUFBVTtRQUNoRixJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDYixvR0FBb0csQ0FDckcsQ0FBQztRQUNKLENBQUM7UUFDRCxtRUFBbUU7UUFDbkUsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQVksRUFBRSxFQUFFO1lBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNyQixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFJLENBQUM7Z0JBQ0gsT0FBTyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixDQUFDO29CQUFTLENBQUM7Z0JBQ1QsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25DLENBQUM7UUFDSCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0YifQ==
|
|
6
|
+
var TEggPluginApplicationUnittest = class {
|
|
7
|
+
async mockModuleContext(data) {
|
|
8
|
+
this.deprecate("app.mockModuleContext is deprecated, use mockModuleContextScope.");
|
|
9
|
+
if (hasMockModuleContext) throw new Error("should not call mockModuleContext twice.");
|
|
10
|
+
const ctx = this.mockContext(data);
|
|
11
|
+
const teggCtx = new EggContextImpl(ctx);
|
|
12
|
+
const lifecycle = {};
|
|
13
|
+
TEGG_LIFECYCLE_CACHE.set(teggCtx, lifecycle);
|
|
14
|
+
if (teggCtx.init) await teggCtx.init(lifecycle);
|
|
15
|
+
hasMockModuleContext = true;
|
|
16
|
+
return ctx;
|
|
17
|
+
}
|
|
18
|
+
async destroyModuleContext(ctx) {
|
|
19
|
+
hasMockModuleContext = false;
|
|
20
|
+
const teggCtx = ctx.teggContext;
|
|
21
|
+
if (!teggCtx) return;
|
|
22
|
+
const lifecycle = TEGG_LIFECYCLE_CACHE.get(teggCtx);
|
|
23
|
+
if (teggCtx.destroy && lifecycle) await teggCtx.destroy(lifecycle);
|
|
24
|
+
}
|
|
25
|
+
async mockModuleContextScope(fn, data) {
|
|
26
|
+
if (hasMockModuleContext) throw new Error("mockModuleContextScope can not use with mockModuleContext, should use mockModuleContextScope only.");
|
|
27
|
+
return this.mockContextScope(async (ctx) => {
|
|
28
|
+
const teggCtx = new EggContextImpl(ctx);
|
|
29
|
+
const lifecycle = {};
|
|
30
|
+
if (teggCtx.init) await teggCtx.init(lifecycle);
|
|
31
|
+
try {
|
|
32
|
+
return await fn(ctx);
|
|
33
|
+
} finally {
|
|
34
|
+
await teggCtx.destroy(lifecycle);
|
|
35
|
+
}
|
|
36
|
+
}, data);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
export { TEggPluginApplicationUnittest as default };
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { EggProtoImplClass, QualifierInfo } from "@eggjs/core-decorator";
|
|
2
|
+
import { EggContext } from "@eggjs/tegg-runtime";
|
|
3
|
+
import { Context } from "egg";
|
|
4
|
+
|
|
5
|
+
//#region src/app/extend/context.d.ts
|
|
6
|
+
declare class TEggPluginContext {
|
|
7
|
+
beginModuleScope(this: Context, func: () => Promise<void>): Promise<void>;
|
|
8
|
+
get teggContext(): EggContext;
|
|
9
|
+
getEggObject<T>(this: Context, clazz: EggProtoImplClass<T>, name?: string): Promise<T>;
|
|
10
|
+
getEggObjectFromName<T>(this: Context, name: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<T>;
|
|
9
11
|
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { TEggPluginContext as default };
|
|
@@ -1,33 +1,28 @@
|
|
|
1
|
-
import { TEGG_CONTEXT } from '@eggjs/module-common';
|
|
2
|
-
import { PrototypeUtil } from '@eggjs/core-decorator';
|
|
3
1
|
import { ctxLifecycleMiddleware } from "../../lib/ctx_lifecycle_middleware.js";
|
|
4
|
-
|
|
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
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvZXh0ZW5kL2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBMEIsYUFBYSxFQUFzQixNQUFNLHVCQUF1QixDQUFDO0FBR2xHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRS9FLE1BQU0sQ0FBQyxPQUFPLE9BQU8saUJBQWlCO0lBQ3BDLDJDQUEyQztJQUUzQyxLQUFLLENBQUMsZ0JBQWdCLENBQWdCLElBQXlCO1FBQzdELE1BQU0sc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLEdBQUcsR0FBRyxJQUEwQixDQUFDO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLDJFQUEyRSxDQUFDLENBQUM7UUFDL0YsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLFlBQVksQ0FBZ0IsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBbUIsS0FBMkIsRUFBRSxJQUFhO1FBQzdFLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBMEIsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxRQUF3QixDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRyxPQUFPLFNBQVMsQ0FBQyxHQUFRLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBbUIsSUFBWSxFQUFFLFVBQTRDO1FBQ3JHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLENBQy9FLElBQUksRUFDSixVQUE2QixDQUM5QixDQUFDO1FBQ0YsT0FBTyxTQUFTLENBQUMsR0FBUSxDQUFDO0lBQzVCLENBQUM7Q0FDRiJ9
|
|
2
|
+
import { PrototypeUtil } from "@eggjs/core-decorator";
|
|
3
|
+
import { TEGG_CONTEXT } from "@eggjs/module-common";
|
|
4
|
+
|
|
5
|
+
//#region src/app/extend/context.ts
|
|
6
|
+
var TEggPluginContext = class {
|
|
7
|
+
async beginModuleScope(func) {
|
|
8
|
+
await ctxLifecycleMiddleware(this, func);
|
|
9
|
+
}
|
|
10
|
+
get teggContext() {
|
|
11
|
+
const ctx = this;
|
|
12
|
+
if (!ctx[TEGG_CONTEXT]) throw new Error("tegg context have not ready, should call after teggCtxLifecycleMiddleware");
|
|
13
|
+
return ctx[TEGG_CONTEXT];
|
|
14
|
+
}
|
|
15
|
+
async getEggObject(clazz, name) {
|
|
16
|
+
const protoObj = PrototypeUtil.getClazzProto(clazz);
|
|
17
|
+
if (!protoObj) throw new Error(`can not get proto for clazz ${clazz.name}`);
|
|
18
|
+
const proto = protoObj;
|
|
19
|
+
return (await this.app.eggContainerFactory.getOrCreateEggObject(proto, name ?? proto.name)).obj;
|
|
20
|
+
}
|
|
21
|
+
async getEggObjectFromName(name, qualifiers) {
|
|
22
|
+
if (qualifiers) qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
|
|
23
|
+
return (await this.app.eggContainerFactory.getOrCreateEggObjectFromName(name, qualifiers)).obj;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
export { TEggPluginContext as default };
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { MiddlewareFunc } from "egg";
|
|
2
|
+
|
|
3
|
+
//#region src/app/middleware/tegg_ctx_lifecycle_middleware.d.ts
|
|
2
4
|
declare const _default: () => MiddlewareFunc;
|
|
3
|
-
|
|
5
|
+
//#endregion
|
|
6
|
+
export { _default as default };
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { ctxLifecycleMiddleware } from "../../lib/ctx_lifecycle_middleware.js";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
//#region src/app/middleware/tegg_ctx_lifecycle_middleware.ts
|
|
4
|
+
var tegg_ctx_lifecycle_middleware_default = () => {
|
|
5
|
+
return ctxLifecycleMiddleware;
|
|
4
6
|
};
|
|
5
|
-
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { tegg_ctx_lifecycle_middleware_default as default };
|
package/dist/app.d.ts
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import "./lib/AppLoadUnit.js";
|
|
2
|
+
import "./lib/AppLoadUnitInstance.js";
|
|
3
|
+
import "./lib/EggCompatibleObject.js";
|
|
4
|
+
import { Application, ILifecycleBoot } from "egg";
|
|
5
|
+
|
|
6
|
+
//#region src/app.d.ts
|
|
7
|
+
declare class TeggAppBoot implements ILifecycleBoot {
|
|
8
|
+
private readonly app;
|
|
9
|
+
private compatibleHook?;
|
|
10
|
+
private eggContextHandler;
|
|
11
|
+
private eggQualifierProtoHook;
|
|
12
|
+
private loadUnitMultiInstanceProtoHook;
|
|
13
|
+
private configSourceEggPrototypeHook;
|
|
14
|
+
constructor(app: Application);
|
|
15
|
+
configWillLoad(): void;
|
|
16
|
+
configDidLoad(): void;
|
|
17
|
+
didLoad(): Promise<void>;
|
|
18
|
+
beforeClose(): Promise<void>;
|
|
17
19
|
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { TeggAppBoot as default };
|
package/dist/app.js
CHANGED
|
@@ -1,64 +1,57 @@
|
|
|
1
|
-
// init loader
|
|
2
1
|
import "./lib/AppLoadUnit.js";
|
|
3
2
|
import "./lib/AppLoadUnitInstance.js";
|
|
4
3
|
import "./lib/EggCompatibleObject.js";
|
|
5
|
-
import { LoadUnitMultiInstanceProtoHook } from '@eggjs/metadata';
|
|
6
|
-
import { EggContextCompatibleHook } from "./lib/EggContextCompatibleHook.js";
|
|
7
4
|
import { CompatibleUtil } from "./lib/CompatibleUtil.js";
|
|
5
|
+
import { ConfigSourceLoadUnitHook } from "./lib/ConfigSourceLoadUnitHook.js";
|
|
8
6
|
import { ModuleHandler } from "./lib/ModuleHandler.js";
|
|
7
|
+
import { EggContextCompatibleHook } from "./lib/EggContextCompatibleHook.js";
|
|
9
8
|
import { EggContextHandler } from "./lib/EggContextHandler.js";
|
|
10
|
-
import { hijackRunInBackground } from "./lib/run_in_background.js";
|
|
11
9
|
import { EggQualifierProtoHook } from "./lib/EggQualifierProtoHook.js";
|
|
12
|
-
import {
|
|
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
|
-
LoadUnitMultiInstanceProtoHook.clear();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBQ2QsT0FBTyxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sOEJBQThCLENBQUM7QUFHdEMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU3RSxNQUFNLENBQUMsT0FBTyxPQUFPLFdBQVc7SUFDYixHQUFHLENBQWM7SUFDMUIsY0FBYyxDQUE0QjtJQUMxQyxpQkFBaUIsQ0FBb0I7SUFDckMscUJBQXFCLENBQXdCO0lBQzdDLDhCQUE4QixDQUFpQztJQUMvRCw0QkFBNEIsQ0FBMkI7SUFFL0QsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMs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
|
|
10
|
+
import { hijackRunInBackground } from "./lib/run_in_background.js";
|
|
11
|
+
import { LoadUnitMultiInstanceProtoHook } from "@eggjs/metadata";
|
|
12
|
+
|
|
13
|
+
//#region src/app.ts
|
|
14
|
+
var TeggAppBoot = class {
|
|
15
|
+
app;
|
|
16
|
+
compatibleHook;
|
|
17
|
+
eggContextHandler;
|
|
18
|
+
eggQualifierProtoHook;
|
|
19
|
+
loadUnitMultiInstanceProtoHook;
|
|
20
|
+
configSourceEggPrototypeHook;
|
|
21
|
+
constructor(app) {
|
|
22
|
+
this.app = app;
|
|
23
|
+
}
|
|
24
|
+
configWillLoad() {
|
|
25
|
+
this.app.config.coreMiddleware.push("teggCtxLifecycleMiddleware");
|
|
26
|
+
}
|
|
27
|
+
configDidLoad() {
|
|
28
|
+
this.eggContextHandler = new EggContextHandler(this.app);
|
|
29
|
+
this.app.eggContextHandler = this.eggContextHandler;
|
|
30
|
+
this.eggContextHandler.register();
|
|
31
|
+
this.app.moduleHandler = new ModuleHandler(this.app);
|
|
32
|
+
}
|
|
33
|
+
async didLoad() {
|
|
34
|
+
hijackRunInBackground(this.app);
|
|
35
|
+
this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
|
|
36
|
+
this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
37
|
+
this.eggQualifierProtoHook = new EggQualifierProtoHook(this.app);
|
|
38
|
+
this.app.loadUnitLifecycleUtil.registerLifecycle(this.eggQualifierProtoHook);
|
|
39
|
+
this.configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
|
|
40
|
+
this.app.loadUnitLifecycleUtil.registerLifecycle(this.configSourceEggPrototypeHook);
|
|
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) this.app.eggContextLifecycleUtil.deleteLifecycle(this.compatibleHook);
|
|
49
|
+
if (this.eggQualifierProtoHook) this.app.loadUnitLifecycleUtil.deleteLifecycle(this.eggQualifierProtoHook);
|
|
50
|
+
if (this.configSourceEggPrototypeHook) this.app.loadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
|
|
51
|
+
if (this.loadUnitMultiInstanceProtoHook) this.app.loadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
|
|
52
|
+
LoadUnitMultiInstanceProtoHook.clear();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
export { TeggAppBoot as default };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import "./app/extend/application.js";
|
|
2
|
+
import "./app/extend/context.js";
|
|
3
|
+
import "./types.js";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "./types.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import "./app/extend/application.js";
|
|
3
|
+
import "./app/extend/context.js";
|
|
4
|
+
|
|
5
|
+
export { };
|