@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.
Files changed (49) hide show
  1. package/dist/app/extend/application.d.ts +28 -24
  2. package/dist/app/extend/application.js +69 -75
  3. package/dist/app/extend/application.unittest.d.ts +9 -5
  4. package/dist/app/extend/application.unittest.js +39 -50
  5. package/dist/app/extend/context.d.ts +12 -8
  6. package/dist/app/extend/context.js +27 -32
  7. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +5 -2
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +7 -3
  9. package/dist/app.d.ts +20 -16
  10. package/dist/app.js +50 -57
  11. package/dist/index.d.ts +3 -3
  12. package/dist/index.js +4 -3
  13. package/dist/lib/AppLoadUnit.d.ts +23 -19
  14. package/dist/lib/AppLoadUnit.js +77 -92
  15. package/dist/lib/AppLoadUnitInstance.d.ts +23 -19
  16. package/dist/lib/AppLoadUnitInstance.js +69 -82
  17. package/dist/lib/CompatibleUtil.d.ts +22 -18
  18. package/dist/lib/CompatibleUtil.js +99 -104
  19. package/dist/lib/ConfigSourceLoadUnitHook.d.ts +13 -8
  20. package/dist/lib/ConfigSourceLoadUnitHook.js +20 -19
  21. package/dist/lib/EggAppLoader.d.ts +19 -15
  22. package/dist/lib/EggAppLoader.js +104 -115
  23. package/dist/lib/EggCompatibleObject.d.ts +19 -15
  24. package/dist/lib/EggCompatibleObject.js +34 -41
  25. package/dist/lib/EggCompatibleProtoImpl.d.ts +25 -21
  26. package/dist/lib/EggCompatibleProtoImpl.js +49 -52
  27. package/dist/lib/EggContextCompatibleHook.d.ts +13 -9
  28. package/dist/lib/EggContextCompatibleHook.js +32 -44
  29. package/dist/lib/EggContextHandler.d.ts +12 -8
  30. package/dist/lib/EggContextHandler.js +28 -25
  31. package/dist/lib/EggContextImpl.d.ts +9 -5
  32. package/dist/lib/EggContextImpl.js +18 -15
  33. package/dist/lib/EggModuleLoader.d.ts +14 -10
  34. package/dist/lib/EggModuleLoader.js +48 -52
  35. package/dist/lib/EggQualifierProtoHook.d.ts +13 -9
  36. package/dist/lib/EggQualifierProtoHook.js +46 -60
  37. package/dist/lib/ModuleConfigLoader.d.ts +11 -7
  38. package/dist/lib/ModuleConfigLoader.js +81 -79
  39. package/dist/lib/ModuleHandler.d.ts +16 -12
  40. package/dist/lib/ModuleHandler.js +44 -51
  41. package/dist/lib/Utils.d.ts +4 -1
  42. package/dist/lib/Utils.js +30 -33
  43. package/dist/lib/ctx_lifecycle_middleware.d.ts +6 -2
  44. package/dist/lib/ctx_lifecycle_middleware.js +24 -30
  45. package/dist/lib/run_in_background.d.ts +7 -3
  46. package/dist/lib/run_in_background.js +46 -54
  47. package/dist/types.d.ts +54 -53
  48. package/dist/types.js +3 -2
  49. package/package.json +47 -51
@@ -1,10 +1,14 @@
1
- import type { Application } from 'egg';
2
- import type { LoadUnitLifecycleContext, LoadUnit } from '@eggjs/metadata';
3
- import type { LifecycleHook } from '@eggjs/lifecycle';
4
- export declare class EggQualifierProtoHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
5
- private readonly app;
6
- constructor(app: Application);
7
- preCreate(ctx: LoadUnitLifecycleContext): Promise<void>;
8
- private isAppObject;
9
- private isCtxObject;
1
+ import { LifecycleHook } from "@eggjs/lifecycle";
2
+ import { LoadUnit, LoadUnitLifecycleContext } from "@eggjs/metadata";
3
+ import { Application } from "egg";
4
+
5
+ //#region src/lib/EggQualifierProtoHook.d.ts
6
+ declare class EggQualifierProtoHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
7
+ private readonly app;
8
+ constructor(app: Application);
9
+ preCreate(ctx: LoadUnitLifecycleContext): Promise<void>;
10
+ private isAppObject;
11
+ private isCtxObject;
10
12
  }
13
+ //#endregion
14
+ export { EggQualifierProtoHook };
@@ -1,60 +1,46 @@
1
- import { debuglog } from 'node:util';
2
- import { PrototypeUtil, QualifierUtil, EggQualifierAttribute, EggType } from '@eggjs/core-decorator';
3
- import { ObjectUtils } from '@eggjs/tegg-common-util';
4
- import { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ, } from "./EggAppLoader.js";
5
- const debug = debuglog('egg/tegg/plugin/tegg/lib/EggQualifierProtoHook');
6
- export class EggQualifierProtoHook {
7
- app;
8
- constructor(app) {
9
- this.app = app;
10
- }
11
- async preCreate(ctx) {
12
- const clazzList = await ctx.loader.load();
13
- const appProperties = ObjectUtils.getProperties(this.app);
14
- const ctxProperties = ObjectUtils.getProperties(this.app.context);
15
- if (debug.enabled) {
16
- debug('preCreate, get clazzList:%o, appProperties:%o, ctxProperties:%o, from unitPath:%o', clazzList.map((t) => t.name), appProperties.length, ctxProperties.length, ctx.unitPath);
17
- }
18
- for (const clazz of clazzList) {
19
- const inbjectObjects = PrototypeUtil.getInjectObjects(clazz) || [];
20
- if (debug.enabled && inbjectObjects.length > 0) {
21
- debug('preCreate, get injectObjects:%o, from clazz:%o, from unitPath:%o', inbjectObjects.map((t) => t.refName), clazz.name, ctx.unitPath);
22
- }
23
- for (const injectObject of inbjectObjects) {
24
- const propertyQualifiers = QualifierUtil.getProperQualifiers(clazz, injectObject.refName);
25
- const hasEggQualifier = propertyQualifiers.find((t) => t.attribute === EggQualifierAttribute);
26
- if (hasEggQualifier) {
27
- continue;
28
- }
29
- if (this.isCtxObject(injectObject.objName, ctxProperties)) {
30
- QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.CONTEXT);
31
- }
32
- else if (this.isAppObject(injectObject.objName, appProperties)) {
33
- QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.APP);
34
- debug('preCreate, add proper qualifier:%o to clazz:%o, from unitPath:%o', injectObject.refName, clazz.name, ctx.unitPath);
35
- }
36
- }
37
- }
38
- }
39
- isAppObject(name, appProperties) {
40
- name = String(name);
41
- if (APP_CLAZZ_BLACK_LIST.includes(name)) {
42
- return false;
43
- }
44
- if (DEFAULT_APP_CLAZZ.includes(name)) {
45
- return true;
46
- }
47
- return appProperties.includes(name);
48
- }
49
- isCtxObject(name, ctxProperties) {
50
- name = String(name);
51
- if (CONTEXT_CLAZZ_BLACK_LIST.includes(name)) {
52
- return false;
53
- }
54
- if (DEFAULT_CONTEXT_CLAZZ.includes(name)) {
55
- return true;
56
- }
57
- return ctxProperties.includes(name);
58
- }
59
- }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUXVhbGlmaWVyUHJvdG9Ib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dRdWFsaWZpZXJQcm90b0hvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUlyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0FBRXpFLE1BQU0sT0FBTyxxQkFBcUI7SUFDZixHQUFHLENBQWM7SUFFbEMsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUE2QjtRQUMzQyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLEtBQUssQ0FDSCxtRkFBbUYsRUFDbkYsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUM1QixhQUFhLENBQUMsTUFBTSxFQUNwQixhQUFhLENBQUMsTUFBTSxFQUNwQixHQUFHLENBQUMsUUFBUSxDQUNiLENBQUM7UUFDSixDQUFDO1FBQ0QsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM5QixNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25FLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxLQUFLLENBQ0gsa0VBQWtFLEVBQ2xFLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFDcEMsS0FBSyxDQUFDLElBQUksRUFDVixHQUFHLENBQUMsUUFBUSxDQUNiLENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxNQUFNLFlBQVksSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDMUYsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLENBQUM7Z0JBQzlGLElBQUksZUFBZSxFQUFFLENBQUM7b0JBQ3BCLFNBQVM7Z0JBQ1gsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDO29CQUMxRCxhQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4RyxDQUFDO3FCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7b0JBQ2pFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2xHLEtBQUssQ0FDSCxrRUFBa0UsRUFDbEUsWUFBWSxDQUFDLE9BQU8sRUFDcEIsS0FBSyxDQUFDLElBQUksRUFDVixHQUFHLENBQUMsUUFBUSxDQUNiLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFpQixFQUFFLGFBQXVCO1FBQzVELElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQWlCLEVBQUUsYUFBdUI7UUFDNUQsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUkscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRiJ9
1
+ import { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ } from "./EggAppLoader.js";
2
+ import { debuglog } from "node:util";
3
+ import { EggQualifierAttribute, EggType, PrototypeUtil, QualifierUtil } from "@eggjs/core-decorator";
4
+ import { ObjectUtils } from "@eggjs/tegg-common-util";
5
+
6
+ //#region src/lib/EggQualifierProtoHook.ts
7
+ const debug = debuglog("egg/tegg/plugin/tegg/lib/EggQualifierProtoHook");
8
+ var EggQualifierProtoHook = class {
9
+ app;
10
+ constructor(app) {
11
+ this.app = app;
12
+ }
13
+ async preCreate(ctx) {
14
+ const clazzList = await ctx.loader.load();
15
+ const appProperties = ObjectUtils.getProperties(this.app);
16
+ const ctxProperties = ObjectUtils.getProperties(this.app.context);
17
+ if (debug.enabled) debug("preCreate, get clazzList:%o, appProperties:%o, ctxProperties:%o, from unitPath:%o", clazzList.map((t) => t.name), appProperties.length, ctxProperties.length, ctx.unitPath);
18
+ for (const clazz of clazzList) {
19
+ const inbjectObjects = PrototypeUtil.getInjectObjects(clazz) || [];
20
+ if (debug.enabled && inbjectObjects.length > 0) debug("preCreate, get injectObjects:%o, from clazz:%o, from unitPath:%o", inbjectObjects.map((t) => t.refName), clazz.name, ctx.unitPath);
21
+ for (const injectObject of inbjectObjects) {
22
+ if (QualifierUtil.getProperQualifiers(clazz, injectObject.refName).find((t) => t.attribute === EggQualifierAttribute)) continue;
23
+ if (this.isCtxObject(injectObject.objName, ctxProperties)) QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.CONTEXT);
24
+ else if (this.isAppObject(injectObject.objName, appProperties)) {
25
+ QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.APP);
26
+ debug("preCreate, add proper qualifier:%o to clazz:%o, from unitPath:%o", injectObject.refName, clazz.name, ctx.unitPath);
27
+ }
28
+ }
29
+ }
30
+ }
31
+ isAppObject(name, appProperties) {
32
+ name = String(name);
33
+ if (APP_CLAZZ_BLACK_LIST.includes(name)) return false;
34
+ if (DEFAULT_APP_CLAZZ.includes(name)) return true;
35
+ return appProperties.includes(name);
36
+ }
37
+ isCtxObject(name, ctxProperties) {
38
+ name = String(name);
39
+ if (CONTEXT_CLAZZ_BLACK_LIST.includes(name)) return false;
40
+ if (DEFAULT_CONTEXT_CLAZZ.includes(name)) return true;
41
+ return ctxProperties.includes(name);
42
+ }
43
+ };
44
+
45
+ //#endregion
46
+ export { EggQualifierProtoHook };
@@ -1,8 +1,12 @@
1
- import { type EggProtoImplClass } from '@eggjs/core-decorator';
2
- import type { Application } from 'egg';
3
- export declare class ModuleConfigLoader {
4
- readonly app: Application;
5
- constructor(app: Application);
6
- private loadModuleConfigs;
7
- loadModuleConfigList(): EggProtoImplClass[];
1
+ import { EggProtoImplClass } from "@eggjs/core-decorator";
2
+ import { Application } from "egg";
3
+
4
+ //#region src/lib/ModuleConfigLoader.d.ts
5
+ declare class ModuleConfigLoader {
6
+ readonly app: Application;
7
+ constructor(app: Application);
8
+ private loadModuleConfigs;
9
+ loadModuleConfigList(): EggProtoImplClass[];
8
10
  }
11
+ //#endregion
12
+ export { ModuleConfigLoader };
@@ -1,80 +1,82 @@
1
- import { AccessLevel, EggQualifierAttribute, EggType, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ObjectInitType, PrototypeUtil, QualifierUtil, ConfigSourceQualifierAttribute, } from '@eggjs/core-decorator';
2
- import { ModuleConfigs, ModuleConfigUtil } from '@eggjs/tegg-common-util';
3
- import { extend } from 'extend2';
4
1
  import { COMPATIBLE_PROTO_IMPLE_TYPE } from "./EggCompatibleProtoImpl.js";
5
- export class ModuleConfigLoader {
6
- app;
7
- constructor(app) {
8
- this.app = app;
9
- }
10
- loadModuleConfigs(moduleConfigMap) {
11
- const moduleConfigs = new ModuleConfigs(moduleConfigMap);
12
- const func = function () {
13
- return moduleConfigs;
14
- };
15
- const name = 'moduleConfigs';
16
- Object.defineProperty(func, 'name', {
17
- value: name,
18
- writable: false,
19
- enumerable: false,
20
- configurable: true,
21
- });
22
- PrototypeUtil.setIsEggPrototype(func);
23
- PrototypeUtil.setFilePath(func, 'mock_file_path');
24
- PrototypeUtil.setProperty(func, {
25
- name,
26
- initType: ObjectInitType.SINGLETON,
27
- accessLevel: AccessLevel.PUBLIC,
28
- protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
29
- });
30
- QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
31
- QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
32
- QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
33
- return func;
34
- }
35
- loadModuleConfigList() {
36
- const result = [];
37
- const moduleConfigMap = {};
38
- for (const reference of this.app.moduleReferences) {
39
- const moduleName = ModuleConfigUtil.readModuleNameSync(reference.path);
40
- const defaultConfig = ModuleConfigUtil.loadModuleConfigSync(reference.path, undefined, this.app.config.env);
41
- // @eggjs/tegg-config moduleConfigs[module].config overwrite
42
- const config = extend(true, {}, defaultConfig, this.app.moduleConfigs[moduleName]?.config);
43
- moduleConfigMap[moduleName] = {
44
- name: moduleName,
45
- reference: {
46
- name: moduleName,
47
- path: reference.path,
48
- },
49
- config,
50
- };
51
- const func = function () {
52
- return config;
53
- };
54
- const name = 'moduleConfig';
55
- Object.defineProperty(func, 'name', {
56
- value: name,
57
- writable: false,
58
- enumerable: false,
59
- configurable: true,
60
- });
61
- PrototypeUtil.setIsEggPrototype(func);
62
- PrototypeUtil.setFilePath(func, 'mock_file_path');
63
- PrototypeUtil.setProperty(func, {
64
- name,
65
- initType: ObjectInitType.SINGLETON,
66
- accessLevel: AccessLevel.PUBLIC,
67
- protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
68
- });
69
- QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
70
- QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
71
- QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
72
- QualifierUtil.addProtoQualifier(func, ConfigSourceQualifierAttribute, moduleName);
73
- result.push(func);
74
- }
75
- const moduleConfigs = this.loadModuleConfigs(moduleConfigMap);
76
- result.push(moduleConfigs);
77
- return result;
78
- }
79
- }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9Nb2R1bGVDb25maWdMb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxxQkFBcUIsRUFDckIsT0FBTyxFQUNQLDBCQUEwQixFQUMxQiw4QkFBOEIsRUFDOUIsY0FBYyxFQUNkLGFBQWEsRUFDYixhQUFhLEVBQ2IsOEJBQThCLEdBQy9CLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixHQUFHLENBQWM7SUFDMUIsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRU8saUJBQWlCLENBQUMsZUFBbUQ7UUFDM0UsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLEdBQXNCO1lBQzlCLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQVEsQ0FBQztRQUNULE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxnQkFB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
2
+ import { AccessLevel, ConfigSourceQualifierAttribute, EggQualifierAttribute, EggType, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ObjectInitType, PrototypeUtil, QualifierUtil } from "@eggjs/core-decorator";
3
+ import { ModuleConfigUtil, ModuleConfigs } from "@eggjs/tegg-common-util";
4
+ import { extend } from "extend2";
5
+
6
+ //#region src/lib/ModuleConfigLoader.ts
7
+ var ModuleConfigLoader = class {
8
+ app;
9
+ constructor(app) {
10
+ this.app = app;
11
+ }
12
+ loadModuleConfigs(moduleConfigMap) {
13
+ const moduleConfigs = new ModuleConfigs(moduleConfigMap);
14
+ const func = function() {
15
+ return moduleConfigs;
16
+ };
17
+ const name = "moduleConfigs";
18
+ Object.defineProperty(func, "name", {
19
+ value: name,
20
+ writable: false,
21
+ enumerable: false,
22
+ configurable: true
23
+ });
24
+ PrototypeUtil.setIsEggPrototype(func);
25
+ PrototypeUtil.setFilePath(func, "mock_file_path");
26
+ PrototypeUtil.setProperty(func, {
27
+ name,
28
+ initType: ObjectInitType.SINGLETON,
29
+ accessLevel: AccessLevel.PUBLIC,
30
+ protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE
31
+ });
32
+ QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, "app");
33
+ QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
34
+ QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
35
+ return func;
36
+ }
37
+ loadModuleConfigList() {
38
+ const result = [];
39
+ const moduleConfigMap = {};
40
+ for (const reference of this.app.moduleReferences) {
41
+ const moduleName = ModuleConfigUtil.readModuleNameSync(reference.path);
42
+ const config = extend(true, {}, ModuleConfigUtil.loadModuleConfigSync(reference.path, void 0, this.app.config.env), this.app.moduleConfigs[moduleName]?.config);
43
+ moduleConfigMap[moduleName] = {
44
+ name: moduleName,
45
+ reference: {
46
+ name: moduleName,
47
+ path: reference.path
48
+ },
49
+ config
50
+ };
51
+ const func = function() {
52
+ return config;
53
+ };
54
+ const name = "moduleConfig";
55
+ Object.defineProperty(func, "name", {
56
+ value: name,
57
+ writable: false,
58
+ enumerable: false,
59
+ configurable: true
60
+ });
61
+ PrototypeUtil.setIsEggPrototype(func);
62
+ PrototypeUtil.setFilePath(func, "mock_file_path");
63
+ PrototypeUtil.setProperty(func, {
64
+ name,
65
+ initType: ObjectInitType.SINGLETON,
66
+ accessLevel: AccessLevel.PUBLIC,
67
+ protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE
68
+ });
69
+ QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, "app");
70
+ QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
71
+ QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
72
+ QualifierUtil.addProtoQualifier(func, ConfigSourceQualifierAttribute, moduleName);
73
+ result.push(func);
74
+ }
75
+ const moduleConfigs = this.loadModuleConfigs(moduleConfigMap);
76
+ result.push(moduleConfigs);
77
+ return result;
78
+ }
79
+ };
80
+
81
+ //#endregion
82
+ export { ModuleConfigLoader };
@@ -1,13 +1,17 @@
1
- import { Base } from 'sdk-base';
2
- import type { Application } from 'egg';
3
- import { type LoadUnit } from '@eggjs/metadata';
4
- import { type LoadUnitInstance } from '@eggjs/tegg-runtime';
5
- export declare class ModuleHandler extends Base {
6
- loadUnits: LoadUnit[];
7
- loadUnitInstances: LoadUnitInstance[];
8
- private readonly loadUnitLoader;
9
- private readonly app;
10
- constructor(app: Application);
11
- init(): Promise<void>;
12
- destroy(): Promise<void>;
1
+ import { LoadUnit } from "@eggjs/metadata";
2
+ import { LoadUnitInstance } from "@eggjs/tegg-runtime";
3
+ import { Base } from "sdk-base";
4
+ import { Application } from "egg";
5
+
6
+ //#region src/lib/ModuleHandler.d.ts
7
+ declare class ModuleHandler extends Base {
8
+ loadUnits: LoadUnit[];
9
+ loadUnitInstances: LoadUnitInstance[];
10
+ private readonly loadUnitLoader;
11
+ private readonly app;
12
+ constructor(app: Application);
13
+ init(): Promise<void>;
14
+ destroy(): Promise<void>;
13
15
  }
16
+ //#endregion
17
+ export { ModuleHandler };
@@ -1,52 +1,45 @@
1
- import { Base } from 'sdk-base';
2
- import { EggLoadUnitType, LoadUnitFactory } from '@eggjs/metadata';
3
- import { LoadUnitInstanceFactory } from '@eggjs/tegg-runtime';
4
- import { EggModuleLoader } from "./EggModuleLoader.js";
5
- import { CompatibleUtil } from "./CompatibleUtil.js";
6
1
  import { COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl } from "./EggCompatibleProtoImpl.js";
7
- export class ModuleHandler extends Base {
8
- loadUnits = [];
9
- loadUnitInstances = [];
10
- loadUnitLoader;
11
- app;
12
- constructor(app) {
13
- super();
14
- this.app = app;
15
- this.loadUnitLoader = new EggModuleLoader(this.app);
16
- }
17
- async init() {
18
- try {
19
- this.app.eggPrototypeCreatorFactory.registerPrototypeCreator(COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl.create);
20
- await this.loadUnitLoader.load();
21
- const instances = [];
22
- this.app.module = {};
23
- for (const loadUnit of this.loadUnits) {
24
- const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
25
- if (instance.loadUnit.type !== EggLoadUnitType.APP) {
26
- CompatibleUtil.appCompatible(this.app, instance);
27
- }
28
- instances.push(instance);
29
- }
30
- CompatibleUtil.contextModuleCompatible(this.app.context, instances);
31
- this.loadUnitInstances = instances;
32
- this.ready(true);
33
- }
34
- catch (e) {
35
- this.ready(e);
36
- throw e;
37
- }
38
- }
39
- async destroy() {
40
- if (this.loadUnitInstances) {
41
- for (const instance of this.loadUnitInstances) {
42
- await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
43
- }
44
- }
45
- if (this.loadUnits) {
46
- for (const loadUnit of this.loadUnits) {
47
- await LoadUnitFactory.destroyLoadUnit(loadUnit);
48
- }
49
- }
50
- }
51
- }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvTW9kdWxlSGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxlQUFlLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xGLE9BQU8sRUFBeUIsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxHLE1BQU0sT0FBTyxhQUFjLFNBQVEsSUFBSTtJQUNyQyxTQUFTLEdBQWUsRUFBRSxDQUFDO0lBQzNCLGlCQUFpQixHQUF1QixFQUFFLENBQUM7SUFFMUIsY0FBYyxDQUFrQjtJQUNoQyxHQUFHLENBQWM7SUFFbEMsWUFBWSxHQUFnQjtRQUMxQixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FDMUQsMkJBQTJCLEVBQzNCLHNCQUFzQixDQUFDLE1BQU0sQ0FDOUIsQ0FBQztZQUVGLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBdUIsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQVMsQ0FBQztZQUU1QixLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDaEYsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ25ELGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbkQsQ0FBQztnQkFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNCLENBQUM7WUFDRCxjQUFjLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFVLENBQUMsQ0FBQztZQUN2QixNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzlDLE1BQU0sdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEUsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxlQUFlLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
2
+ import { CompatibleUtil } from "./CompatibleUtil.js";
3
+ import { EggModuleLoader } from "./EggModuleLoader.js";
4
+ import { EggLoadUnitType, LoadUnitFactory } from "@eggjs/metadata";
5
+ import { LoadUnitInstanceFactory } from "@eggjs/tegg-runtime";
6
+ import { Base } from "sdk-base";
7
+
8
+ //#region src/lib/ModuleHandler.ts
9
+ var ModuleHandler = class extends Base {
10
+ loadUnits = [];
11
+ loadUnitInstances = [];
12
+ loadUnitLoader;
13
+ app;
14
+ constructor(app) {
15
+ super();
16
+ this.app = app;
17
+ this.loadUnitLoader = new EggModuleLoader(this.app);
18
+ }
19
+ async init() {
20
+ try {
21
+ this.app.eggPrototypeCreatorFactory.registerPrototypeCreator(COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl.create);
22
+ await this.loadUnitLoader.load();
23
+ const instances = [];
24
+ this.app.module = {};
25
+ for (const loadUnit of this.loadUnits) {
26
+ const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
27
+ if (instance.loadUnit.type !== EggLoadUnitType.APP) CompatibleUtil.appCompatible(this.app, instance);
28
+ instances.push(instance);
29
+ }
30
+ CompatibleUtil.contextModuleCompatible(this.app.context, instances);
31
+ this.loadUnitInstances = instances;
32
+ this.ready(true);
33
+ } catch (e) {
34
+ this.ready(e);
35
+ throw e;
36
+ }
37
+ }
38
+ async destroy() {
39
+ if (this.loadUnitInstances) for (const instance of this.loadUnitInstances) await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
40
+ if (this.loadUnits) for (const loadUnit of this.loadUnits) await LoadUnitFactory.destroyLoadUnit(loadUnit);
41
+ }
42
+ };
43
+
44
+ //#endregion
45
+ export { ModuleHandler };
@@ -1 +1,4 @@
1
- export declare function getCalleeFromStack(withLine: boolean, stackIndex?: number): string;
1
+ //#region src/lib/Utils.d.ts
2
+ declare function getCalleeFromStack(withLine: boolean, stackIndex?: number): string;
3
+ //#endregion
4
+ export { getCalleeFromStack };
package/dist/lib/Utils.js CHANGED
@@ -1,36 +1,33 @@
1
+ //#region src/lib/Utils.ts
1
2
  function prepareObjectStackTrace(_, stack) {
2
- return stack;
3
+ return stack;
3
4
  }
4
- export function getCalleeFromStack(withLine, stackIndex) {
5
- stackIndex = stackIndex === undefined ? 2 : stackIndex;
6
- const limit = Error.stackTraceLimit;
7
- const prep = Error.prepareStackTrace;
8
- Error.prepareStackTrace = prepareObjectStackTrace;
9
- Error.stackTraceLimit = 5;
10
- // capture the stack
11
- const obj = {};
12
- Error.captureStackTrace(obj);
13
- let callSite = obj.stack[stackIndex];
14
- let fileName;
15
- /* istanbul ignore else */
16
- if (callSite) {
17
- // egg-mock will create a proxy
18
- // https://github.com/eggjs/egg-mock/blob/master/lib/app.js#L174
19
- fileName = callSite.getFileName();
20
- /* istanbul ignore if */
21
- if (fileName && fileName.endsWith('egg-mock/lib/app.js')) {
22
- // TODO: add test
23
- callSite = obj.stack[stackIndex + 1];
24
- fileName = callSite.getFileName();
25
- }
26
- }
27
- Error.prepareStackTrace = prep;
28
- Error.stackTraceLimit = limit;
29
- /* istanbul ignore if */
30
- if (!callSite || !fileName)
31
- return '<anonymous>';
32
- if (!withLine)
33
- return fileName;
34
- return `${fileName}:${callSite.getLineNumber()}:${callSite.getColumnNumber()}`;
5
+ function getCalleeFromStack(withLine, stackIndex) {
6
+ stackIndex = stackIndex === void 0 ? 2 : stackIndex;
7
+ const limit = Error.stackTraceLimit;
8
+ const prep = Error.prepareStackTrace;
9
+ Error.prepareStackTrace = prepareObjectStackTrace;
10
+ Error.stackTraceLimit = 5;
11
+ const obj = {};
12
+ Error.captureStackTrace(obj);
13
+ let callSite = obj.stack[stackIndex];
14
+ let fileName;
15
+ /* istanbul ignore else */
16
+ if (callSite) {
17
+ fileName = callSite.getFileName();
18
+ /* istanbul ignore if */
19
+ if (fileName && fileName.endsWith("egg-mock/lib/app.js")) {
20
+ callSite = obj.stack[stackIndex + 1];
21
+ fileName = callSite.getFileName();
22
+ }
23
+ }
24
+ Error.prepareStackTrace = prep;
25
+ Error.stackTraceLimit = limit;
26
+ /* istanbul ignore if */
27
+ if (!callSite || !fileName) return "<anonymous>";
28
+ if (!withLine) return fileName;
29
+ return `${fileName}:${callSite.getLineNumber()}:${callSite.getColumnNumber()}`;
35
30
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsdUJBQXVCLENBQUMsQ0FBUSxFQUFFLEtBQXdCO0lBQ2pFLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxRQUFpQixFQUFFLFVBQW1CO0lBQ3ZFLFVBQVUsR0FBRyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUN2RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUVyQyxLQUFLLENBQUMsaUJBQWlCLEdBQUcsdUJBQXVCLENBQUM7SUFDbEQsS0FBSyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7SUFFMUIsb0JBQW9CO0lBQ3BCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztJQUNwQixLQUFLLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsSUFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxJQUFJLFFBQVEsQ0FBQztJQUNiLDBCQUEwQjtJQUMxQixJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsK0JBQStCO1FBQy9CLGdFQUFnRTtRQUNoRSxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLHdCQUF3QjtRQUN4QixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztZQUN6RCxpQkFBaUI7WUFDakIsUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLFFBQVEsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQy9CLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRTlCLHdCQUF3QjtJQUN4QixJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sYUFBYSxDQUFDO0lBQ2pELElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxRQUFRLENBQUM7SUFDL0IsT0FBTyxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7QUFDakYsQ0FBQyJ9
31
+
32
+ //#endregion
33
+ export { getCalleeFromStack };
@@ -1,2 +1,6 @@
1
- import type { Context, Next } from 'egg';
2
- export declare function ctxLifecycleMiddleware(ctx: Context, next: Next): Promise<void>;
1
+ import { Context, Next } from "egg";
2
+
3
+ //#region src/lib/ctx_lifecycle_middleware.d.ts
4
+ declare function ctxLifecycleMiddleware(ctx: Context, next: Next): Promise<void>;
5
+ //#endregion
6
+ export { ctxLifecycleMiddleware };
@@ -1,32 +1,26 @@
1
- import { ROOT_PROTO, TEGG_CONTEXT } from '@eggjs/module-common';
2
1
  import { EggContextImpl } from "./EggContextImpl.js";
3
- export async function ctxLifecycleMiddleware(ctx, next) {
4
- // should not recreate teggContext
5
- if (ctx[TEGG_CONTEXT]) {
6
- await next();
7
- return;
8
- }
9
- const lifecycleCtx = {};
10
- const teggCtx = new EggContextImpl(ctx);
11
- // rootProto is set by tegg-controller-plugin global middleware(teggRootProto)
12
- // is used in EggControllerHook
13
- const rootProto = ctx[ROOT_PROTO];
14
- if (rootProto) {
15
- teggCtx.set(ROOT_PROTO, rootProto);
16
- }
17
- if (teggCtx.init) {
18
- await teggCtx.init(lifecycleCtx);
19
- }
20
- try {
21
- await next();
22
- }
23
- finally {
24
- if (teggCtx.destroy) {
25
- teggCtx.destroy(lifecycleCtx).catch((e) => {
26
- e.message = `[tegg/ctxLifecycleMiddleware] destroy tegg ctx failed: ${e.message}`;
27
- ctx.logger.error(e);
28
- });
29
- }
30
- }
2
+ import { ROOT_PROTO, TEGG_CONTEXT } from "@eggjs/module-common";
3
+
4
+ //#region src/lib/ctx_lifecycle_middleware.ts
5
+ async function ctxLifecycleMiddleware(ctx, next) {
6
+ if (ctx[TEGG_CONTEXT]) {
7
+ await next();
8
+ return;
9
+ }
10
+ const lifecycleCtx = {};
11
+ const teggCtx = new EggContextImpl(ctx);
12
+ const rootProto = ctx[ROOT_PROTO];
13
+ if (rootProto) teggCtx.set(ROOT_PROTO, rootProto);
14
+ if (teggCtx.init) await teggCtx.init(lifecycleCtx);
15
+ try {
16
+ await next();
17
+ } finally {
18
+ if (teggCtx.destroy) teggCtx.destroy(lifecycleCtx).catch((e) => {
19
+ e.message = `[tegg/ctxLifecycleMiddleware] destroy tegg ctx failed: ${e.message}`;
20
+ ctx.logger.error(e);
21
+ });
22
+ }
31
23
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3R4X2xpZmVjeWNsZV9taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jdHhfbGlmZWN5Y2xlX21pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUloRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsTUFBTSxDQUFDLEtBQUssVUFBVSxzQkFBc0IsQ0FBQyxHQUFZLEVBQUUsSUFBVTtJQUNuRSxrQ0FBa0M7SUFDbEMsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztRQUN0QixNQUFNLElBQUksRUFBRSxDQUFDO1FBQ2IsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLFlBQVksR0FBK0IsRUFBRSxDQUFDO0lBQ3BELE1BQU0sT0FBTyxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLDhFQUE4RTtJQUM5RSwrQkFBK0I7SUFDL0IsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ2YsQ0FBQztZQUFTLENBQUM7UUFDVCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN4QyxDQUFDLENBQUMsT0FBTyxHQUFHLDBEQUEwRCxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xGLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIn0=
24
+
25
+ //#endregion
26
+ export { ctxLifecycleMiddleware };
@@ -1,3 +1,7 @@
1
- import type { Application } from 'egg';
2
- export declare const LONG_STACK_DELIMITER = "\n --------------------\n";
3
- export declare function hijackRunInBackground(app: Application): void;
1
+ import { Application } from "egg";
2
+
3
+ //#region src/lib/run_in_background.d.ts
4
+ declare const LONG_STACK_DELIMITER = "\n --------------------\n";
5
+ declare function hijackRunInBackground(app: Application): void;
6
+ //#endregion
7
+ export { LONG_STACK_DELIMITER, hijackRunInBackground };