@eggjs/tegg-plugin 4.0.0-beta.8 → 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.
Files changed (81) hide show
  1. package/dist/app/extend/application.d.ts +50 -4
  2. package/dist/app/extend/application.js +79 -10
  3. package/dist/app/extend/application.unittest.d.ts +22 -2
  4. package/dist/app/extend/application.unittest.js +55 -4
  5. package/dist/app/extend/context.d.ts +20 -2
  6. package/dist/app/extend/context.js +35 -5
  7. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +2 -5
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +4 -9
  9. package/dist/app.d.ts +16 -21
  10. package/dist/app.js +63 -65
  11. package/dist/index.d.ts +3 -6
  12. package/dist/index.js +4 -15
  13. package/dist/lib/AppLoadUnit.d.ts +19 -2
  14. package/dist/lib/AppLoadUnit.js +90 -3
  15. package/dist/lib/AppLoadUnitInstance.d.ts +20 -2
  16. package/dist/lib/AppLoadUnitInstance.js +82 -3
  17. package/dist/lib/CompatibleUtil.d.ts +13 -17
  18. package/dist/lib/CompatibleUtil.js +95 -3
  19. package/dist/lib/ConfigSourceLoadUnitHook.d.ts +4 -9
  20. package/dist/lib/ConfigSourceLoadUnitHook.js +21 -3
  21. package/dist/lib/EggAppLoader.d.ts +15 -19
  22. package/dist/lib/EggAppLoader.js +128 -5
  23. package/dist/lib/EggCompatibleObject.d.ts +18 -3
  24. package/dist/lib/EggCompatibleObject.js +42 -4
  25. package/dist/lib/EggCompatibleProtoImpl.d.ts +21 -2
  26. package/dist/lib/EggCompatibleProtoImpl.js +52 -3
  27. package/dist/lib/EggContextCompatibleHook.d.ts +9 -13
  28. package/dist/lib/EggContextCompatibleHook.js +44 -9
  29. package/dist/lib/EggContextHandler.d.ts +9 -2
  30. package/dist/lib/EggContextHandler.js +26 -3
  31. package/dist/lib/EggContextImpl.d.ts +5 -9
  32. package/dist/lib/EggContextImpl.js +15 -3
  33. package/dist/lib/EggModuleLoader.d.ts +10 -14
  34. package/dist/lib/EggModuleLoader.js +54 -6
  35. package/dist/lib/EggQualifierProtoHook.d.ts +9 -13
  36. package/dist/lib/EggQualifierProtoHook.js +62 -6
  37. package/dist/lib/ModuleConfigLoader.d.ts +7 -11
  38. package/dist/lib/ModuleConfigLoader.js +81 -4
  39. package/dist/lib/ModuleHandler.d.ts +13 -2
  40. package/dist/lib/ModuleHandler.js +53 -8
  41. package/dist/lib/Utils.d.ts +1 -4
  42. package/dist/lib/Utils.js +36 -3
  43. package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -2
  44. package/dist/lib/ctx_lifecycle_middleware.js +33 -4
  45. package/dist/lib/run_in_background.d.ts +3 -7
  46. package/dist/lib/run_in_background.js +58 -7
  47. package/dist/types.d.ts +8 -6
  48. package/dist/types.js +5 -15
  49. package/package.json +12 -12
  50. package/dist/AppLoadUnit-BOWdS4O9.d.ts +0 -23
  51. package/dist/AppLoadUnit-uyHgElRL.js +0 -78
  52. package/dist/AppLoadUnitInstance-4Z_vSQV3.js +0 -69
  53. package/dist/AppLoadUnitInstance-DQ-DxlmR.d.ts +0 -24
  54. package/dist/CompatibleUtil-CNhydb0E.js +0 -96
  55. package/dist/ConfigSourceLoadUnitHook-BV-R31vA.js +0 -22
  56. package/dist/EggAppLoader-DFYg65ry.js +0 -106
  57. package/dist/EggCompatibleObject-XfIZyirS.js +0 -37
  58. package/dist/EggCompatibleObject-lzUCfsIY.d.ts +0 -21
  59. package/dist/EggCompatibleProtoImpl-CPxLvSu4.js +0 -50
  60. package/dist/EggCompatibleProtoImpl-DpacWKFB.d.ts +0 -25
  61. package/dist/EggContextCompatibleHook-eFfN2xm6.js +0 -31
  62. package/dist/EggContextHandler-D8gfTbZs.js +0 -29
  63. package/dist/EggContextHandler-vGi67He5.d.ts +0 -13
  64. package/dist/EggContextImpl-DkCLPTzT.js +0 -18
  65. package/dist/EggModuleLoader-CCfQMmp5.js +0 -50
  66. package/dist/EggQualifierProtoHook-D5jNm-1y.js +0 -48
  67. package/dist/ModuleConfigLoader-CvZLf99E.js +0 -84
  68. package/dist/ModuleHandler-Dyx7JGj-.d.ts +0 -17
  69. package/dist/ModuleHandler-fKcUqWca.js +0 -46
  70. package/dist/Utils-11aRpnkd.js +0 -33
  71. package/dist/application-Ccljinuy.d.ts +0 -57
  72. package/dist/application-DFI1junS.js +0 -70
  73. package/dist/application.unittest-Cmia71Fx.js +0 -43
  74. package/dist/application.unittest-CpoCu6-E.d.ts +0 -26
  75. package/dist/context-BWYE1dif.js +0 -30
  76. package/dist/context-BoIt2G5h.d.ts +0 -24
  77. package/dist/ctx_lifecycle_middleware-CIeSrbVY.js +0 -27
  78. package/dist/ctx_lifecycle_middleware-DV7uN5PG.d.ts +0 -6
  79. package/dist/run_in_background-CEUPBmDB.js +0 -51
  80. package/dist/types-BHg5p4Xk.js +0 -3
  81. package/dist/types-CuoKQV4X.d.ts +0 -7
@@ -1,4 +1,42 @@
1
- import "../EggCompatibleProtoImpl-CPxLvSu4.js";
2
- import { EggCompatibleObject } from "../EggCompatibleObject-XfIZyirS.js";
3
-
4
- export { EggCompatibleObject };
1
+ import { EggObjectFactory, } from '@eggjs/tegg-runtime';
2
+ import { IdenticalUtil, EggType, EggQualifierAttribute } from '@eggjs/tegg';
3
+ import {} from '@eggjs/tegg-metadata';
4
+ import { EggCompatibleProtoImpl } from "./EggCompatibleProtoImpl.js";
5
+ const OBJ = Symbol('EggCompatibleObject#obj');
6
+ export class EggCompatibleObject {
7
+ isReady = true;
8
+ [OBJ];
9
+ proto;
10
+ name;
11
+ id;
12
+ isContext;
13
+ constructor(name, proto) {
14
+ this.proto = proto;
15
+ this.name = name;
16
+ this.id = IdenticalUtil.createObjectId(this.proto.id);
17
+ this.isContext = this.proto.verifyQualifier({
18
+ value: EggType.CONTEXT,
19
+ attribute: EggQualifierAttribute,
20
+ });
21
+ }
22
+ // If the egg object is a getter,
23
+ // access may have side effect.
24
+ // So access egg object lazy.
25
+ get obj() {
26
+ if (this.isContext) {
27
+ return this.proto.constructEggObject();
28
+ }
29
+ if (!this[OBJ]) {
30
+ this[OBJ] = this.proto.constructEggObject();
31
+ }
32
+ return this[OBJ];
33
+ }
34
+ injectProperty() {
35
+ return;
36
+ }
37
+ static async createObject(name, proto) {
38
+ return new EggCompatibleObject(name, proto);
39
+ }
40
+ }
41
+ EggObjectFactory.registerEggObjectCreateMethod(EggCompatibleProtoImpl, EggCompatibleObject.createObject);
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29tcGF0aWJsZU9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvRWdnQ29tcGF0aWJsZU9iamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsZ0JBQWdCLEdBQ2pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLGFBQWEsRUFBc0IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hHLE9BQU8sRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVyRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUU5QyxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDekIsQ0FBQyxHQUFHLENBQUMsQ0FBUztJQUNiLEtBQUssQ0FBeUI7SUFDOUIsSUFBSSxDQUFnQjtJQUNwQixFQUFFLENBQVM7SUFDWCxTQUFTLENBQVU7SUFFNUIsWUFBWSxJQUFtQixFQUFFLEtBQTZCO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3RCLFNBQVMsRUFBRSxxQkFBcUI7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlDQUFpQztJQUNqQywrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQzdCLElBQUksR0FBRztRQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBbUIsRUFBRSxLQUFtQjtRQUNoRSxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxFQUFFLEtBQStCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0Y7QUFFRCxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQyxzQkFBc0IsRUFBRSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyJ9
@@ -1,2 +1,21 @@
1
- import { COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl } from "../EggCompatibleProtoImpl-DpacWKFB.js";
2
- export { COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl };
1
+ import { AccessLevel, type EggProtoImplClass, type EggPrototypeName, type MetaDataKey, type ObjectInitTypeLike, type QualifierInfo, type Id, type QualifierValue } from '@eggjs/tegg';
2
+ import { type EggPrototype, type InjectObjectProto, type EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
3
+ export declare const COMPATIBLE_PROTO_IMPLE_TYPE = "EGG_COMPATIBLE";
4
+ export declare class EggCompatibleProtoImpl implements EggPrototype {
5
+ [key: symbol]: PropertyDescriptor;
6
+ private readonly clazz;
7
+ private readonly qualifiers;
8
+ readonly id: string;
9
+ readonly name: EggPrototypeName;
10
+ readonly initType: ObjectInitTypeLike;
11
+ readonly accessLevel: AccessLevel;
12
+ readonly injectObjects: InjectObjectProto[];
13
+ readonly loadUnitId: Id;
14
+ constructor(id: string, name: EggPrototypeName, clazz: EggProtoImplClass, initType: ObjectInitTypeLike, loadUnitId: Id, qualifiers: QualifierInfo[]);
15
+ verifyQualifiers(qualifiers: QualifierInfo[]): boolean;
16
+ verifyQualifier(qualifier: QualifierInfo): boolean;
17
+ getQualifier(attribute: string): QualifierValue | undefined;
18
+ constructEggObject(): object;
19
+ getMetaData<T>(metadataKey: MetaDataKey): T | undefined;
20
+ static create(ctx: EggPrototypeLifecycleContext): EggPrototype;
21
+ }
@@ -1,3 +1,52 @@
1
- import { COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl } from "../EggCompatibleProtoImpl-CPxLvSu4.js";
2
-
3
- export { COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl };
1
+ import { AccessLevel, MetadataUtil, QualifierUtil, IdenticalUtil, } from '@eggjs/tegg';
2
+ import {} from '@eggjs/tegg-metadata';
3
+ export const COMPATIBLE_PROTO_IMPLE_TYPE = 'EGG_COMPATIBLE';
4
+ export class EggCompatibleProtoImpl {
5
+ clazz;
6
+ qualifiers;
7
+ id;
8
+ name;
9
+ initType;
10
+ accessLevel;
11
+ injectObjects;
12
+ loadUnitId;
13
+ constructor(id, name, clazz, initType, loadUnitId, qualifiers) {
14
+ this.id = id;
15
+ this.clazz = clazz;
16
+ this.name = name;
17
+ this.initType = initType;
18
+ this.accessLevel = AccessLevel.PUBLIC;
19
+ this.injectObjects = [];
20
+ this.loadUnitId = loadUnitId;
21
+ this.qualifiers = qualifiers;
22
+ }
23
+ verifyQualifiers(qualifiers) {
24
+ for (const qualifier of qualifiers) {
25
+ if (!this.verifyQualifier(qualifier)) {
26
+ return false;
27
+ }
28
+ }
29
+ return true;
30
+ }
31
+ verifyQualifier(qualifier) {
32
+ const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
33
+ return selfQualifiers?.value === qualifier.value;
34
+ }
35
+ getQualifier(attribute) {
36
+ return this.qualifiers.find(t => t.attribute === attribute)?.value;
37
+ }
38
+ constructEggObject() {
39
+ return Reflect.apply(this.clazz, null, []);
40
+ }
41
+ getMetaData(metadataKey) {
42
+ return MetadataUtil.getMetaData(metadataKey, this.clazz);
43
+ }
44
+ static create(ctx) {
45
+ const { clazz, loadUnit } = ctx;
46
+ const name = ctx.prototypeInfo.name;
47
+ const id = IdenticalUtil.createProtoId(loadUnit.id, name);
48
+ const proto = new EggCompatibleProtoImpl(id, name, clazz, ctx.prototypeInfo.initType, loadUnit.id, QualifierUtil.mergeQualifiers(QualifierUtil.getProtoQualifiers(clazz), (ctx.prototypeInfo.qualifiers ?? [])));
49
+ return proto;
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29tcGF0aWJsZVByb3RvSW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvRWdnQ29tcGF0aWJsZVByb3RvSW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUdYLFlBQVksRUFHWixhQUFhLEVBRWIsYUFBYSxHQUVkLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFJTixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLGdCQUFnQixDQUFDO0FBRTVELE1BQU0sT0FBTyxzQkFBc0I7SUFFaEIsS0FBSyxDQUFvQjtJQUN6QixVQUFVLENBQWtCO0lBRXBDLEVBQUUsQ0FBUztJQUNYLElBQUksQ0FBbUI7SUFDdkIsUUFBUSxDQUFxQjtJQUM3QixXQUFXLENBQWM7SUFDekIsYUFBYSxDQUFzQjtJQUNuQyxVQUFVLENBQUs7SUFFeEIsWUFDRSxFQUFVLEVBQ1YsSUFBc0IsRUFDdEIsS0FBd0IsRUFDeEIsUUFBNEIsRUFDNUIsVUFBYyxFQUNkLFVBQTJCO1FBRTNCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUEyQjtRQUMxQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBd0I7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RixPQUFPLGNBQWMsRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUNyRSxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVyxDQUFJLFdBQXdCO1FBQ3JDLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQWlDO1FBQzdDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3BDLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRCxNQUFNLEtBQUssR0FBRyxJQUFJLHNCQUFzQixDQUN0QyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxlQUFlLENBQ3JGLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFDdkMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FDckMsQ0FDRixDQUFDO1FBQ0YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YifQ==
@@ -1,14 +1,10 @@
1
- import { ModuleHandler } from "../ModuleHandler-Dyx7JGj-.js";
2
- import { LifecycleHook } from "@eggjs/tegg";
3
- import { EggContext, EggContextLifecycleContext } from "@eggjs/tegg-runtime";
4
-
5
- //#region src/lib/EggContextCompatibleHook.d.ts
6
- declare class EggContextCompatibleHook implements LifecycleHook<EggContextLifecycleContext, EggContext> {
7
- private readonly moduleHandler;
8
- private requestProtoList;
9
- constructor(moduleHandler: ModuleHandler);
10
- preCreate(_: unknown, ctx: EggContext): Promise<void>;
11
- postCreate(_: unknown, ctx: EggContext): Promise<void>;
1
+ import { type LifecycleHook } from '@eggjs/tegg';
2
+ import { type EggContext, type EggContextLifecycleContext } from '@eggjs/tegg-runtime';
3
+ import { ModuleHandler } from './ModuleHandler.ts';
4
+ export declare class EggContextCompatibleHook implements LifecycleHook<EggContextLifecycleContext, EggContext> {
5
+ private readonly moduleHandler;
6
+ private requestProtoList;
7
+ constructor(moduleHandler: ModuleHandler);
8
+ preCreate(_: unknown, ctx: EggContext): Promise<void>;
9
+ postCreate(_: unknown, ctx: EggContext): Promise<void>;
12
10
  }
13
- //#endregion
14
- export { EggContextCompatibleHook };
@@ -1,9 +1,44 @@
1
- import "../EggCompatibleProtoImpl-CPxLvSu4.js";
2
- import "../ModuleConfigLoader-CvZLf99E.js";
3
- import "../EggAppLoader-DFYg65ry.js";
4
- import "../EggModuleLoader-CCfQMmp5.js";
5
- import "../CompatibleUtil-CNhydb0E.js";
6
- import "../ModuleHandler-fKcUqWca.js";
7
- import { EggContextCompatibleHook } from "../EggContextCompatibleHook-eFfN2xm6.js";
8
-
9
- export { EggContextCompatibleHook };
1
+ import { BackgroundTaskHelper, ObjectInitType, PrototypeUtil } from '@eggjs/tegg';
2
+ import { EggContainerFactory } from '@eggjs/tegg-runtime';
3
+ import {} from '@eggjs/tegg-metadata';
4
+ import { ROOT_PROTO } from '@eggjs/egg-module-common';
5
+ import { ModuleHandler } from "./ModuleHandler.js";
6
+ export class EggContextCompatibleHook {
7
+ moduleHandler;
8
+ requestProtoList = [];
9
+ constructor(moduleHandler) {
10
+ this.moduleHandler = moduleHandler;
11
+ for (const loadUnitInstance of this.moduleHandler.loadUnitInstances) {
12
+ const iterator = loadUnitInstance.loadUnit.iterateEggPrototype();
13
+ for (const proto of iterator) {
14
+ if (proto.initType === ObjectInitType.CONTEXT) {
15
+ this.requestProtoList.push(proto);
16
+ }
17
+ }
18
+ }
19
+ }
20
+ async preCreate(_, ctx) {
21
+ // root proto added in ctxLifecycleMiddleware
22
+ if (!ctx.get(ROOT_PROTO)) {
23
+ for (const proto of this.requestProtoList) {
24
+ ctx.addProtoToCreate(proto.name, proto);
25
+ }
26
+ }
27
+ else {
28
+ // Use for ctx.runInBackground.
29
+ // BackgroundTaskHelper should get by sync,
30
+ // or tegg context may be destroyed before background task run.
31
+ // So create it in preCreate.
32
+ const protoObj = PrototypeUtil.getClazzProto(BackgroundTaskHelper);
33
+ await EggContainerFactory.getOrCreateEggObject(protoObj);
34
+ }
35
+ }
36
+ async postCreate(_, ctx) {
37
+ const rootProto = ctx.get(ROOT_PROTO);
38
+ if (rootProto) {
39
+ // Ensure ContextInitiator be called.
40
+ await EggContainerFactory.getOrCreateEggObject(rootProto);
41
+ }
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dENvbXBhdGlibGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dDb250ZXh0Q29tcGF0aWJsZUhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFzQixjQUFjLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsRUFBb0QsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RyxPQUFPLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2xCLGFBQWEsQ0FBZ0I7SUFDdEMsZ0JBQWdCLEdBQXdCLEVBQUUsQ0FBQztJQUVuRCxZQUFZLGFBQTRCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLEtBQUssTUFBTSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDcEUsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDakUsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBVSxFQUFFLEdBQWU7UUFDekMsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDekIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDMUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUMsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sK0JBQStCO1lBQy9CLDJDQUEyQztZQUMzQywrREFBK0Q7WUFDL0QsNkJBQTZCO1lBQzdCLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNuRSxNQUFNLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLFFBQXdCLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBVSxFQUFFLEdBQWU7UUFDMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0QyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QscUNBQXFDO1lBQ3JDLE1BQU0sbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsU0FBeUIsQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -1,2 +1,9 @@
1
- import { EggContextHandler } from "../EggContextHandler-vGi67He5.js";
2
- export { EggContextHandler };
1
+ import { type Application } from 'egg';
2
+ import { type EggContext } from '@eggjs/tegg-runtime';
3
+ export declare class EggContextHandler {
4
+ private readonly app;
5
+ constructor(app: Application);
6
+ getContextCallback(): EggContext | undefined;
7
+ run<R>(eggContext: EggContext, fn: () => Promise<R>): Promise<R>;
8
+ register(): void;
9
+ }
@@ -1,3 +1,26 @@
1
- import { EggContextHandler } from "../EggContextHandler-D8gfTbZs.js";
2
-
3
- export { EggContextHandler };
1
+ import {} from 'egg';
2
+ import { ContextHandler } from '@eggjs/tegg-runtime';
3
+ import { EGG_CONTEXT } from '@eggjs/egg-module-common';
4
+ export class EggContextHandler {
5
+ app;
6
+ constructor(app) {
7
+ this.app = app;
8
+ }
9
+ getContextCallback() {
10
+ const ctx = this.app.currentContext;
11
+ return ctx?.teggContext;
12
+ }
13
+ async run(eggContext, fn) {
14
+ const ctx = eggContext.get(EGG_CONTEXT);
15
+ return await this.app.ctxStorage.run(ctx, fn);
16
+ }
17
+ register() {
18
+ ContextHandler.getContextCallback = () => {
19
+ return this.getContextCallback();
20
+ };
21
+ ContextHandler.runInContextCallback = async (context, fn) => {
22
+ return await this.run(context, fn);
23
+ };
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0VnZ0NvbnRleHRIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsTUFBTSxLQUFLLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsTUFBTSxPQUFPLGlCQUFpQjtJQUNYLEdBQUcsQ0FBYztJQUVsQyxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7UUFDcEMsT0FBTyxHQUFHLEVBQUUsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFJLFVBQXNCLEVBQUUsRUFBb0I7UUFDdkQsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsUUFBUTtRQUNOLGNBQWMsQ0FBQyxrQkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDdkMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNuQyxDQUFDLENBQUM7UUFDRixjQUFjLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxFQUFFLE9BQW1CLEVBQUUsRUFBc0IsRUFBRSxFQUFFO1lBQzFGLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1,10 +1,6 @@
1
- import { AbstractEggContext } from "@eggjs/tegg-runtime";
2
- import { Context } from "egg";
3
-
4
- //#region src/lib/EggContextImpl.d.ts
5
- declare class EggContextImpl extends AbstractEggContext {
6
- readonly id: string;
7
- constructor(ctx: Context);
1
+ import type { Context } from 'egg';
2
+ import { AbstractEggContext } from '@eggjs/tegg-runtime';
3
+ export declare class EggContextImpl extends AbstractEggContext {
4
+ readonly id: string;
5
+ constructor(ctx: Context);
8
6
  }
9
- //#endregion
10
- export { EggContextImpl };
@@ -1,3 +1,15 @@
1
- import { EggContextImpl } from "../EggContextImpl-DkCLPTzT.js";
2
-
3
- export { EggContextImpl };
1
+ import { AbstractEggContext } from '@eggjs/tegg-runtime';
2
+ import { IdenticalUtil } from '@eggjs/tegg';
3
+ import { EGG_CONTEXT, TEGG_CONTEXT } from '@eggjs/egg-module-common';
4
+ // TEggContext 的实现
5
+ export class EggContextImpl extends AbstractEggContext {
6
+ id;
7
+ constructor(ctx) {
8
+ super();
9
+ this.set(EGG_CONTEXT, ctx);
10
+ ctx[TEGG_CONTEXT] = this;
11
+ const tracer = ctx.tracer;
12
+ this.id = IdenticalUtil.createContextId(tracer?.traceId);
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dEltcGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0VnZ0NvbnRleHRJbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRSxrQkFBa0I7QUFDbEIsTUFBTSxPQUFPLGNBQWUsU0FBUSxrQkFBa0I7SUFDM0MsRUFBRSxDQUFTO0lBRXBCLFlBQVksR0FBWTtRQUN0QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDekIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQXlDLENBQUM7UUFDN0QsSUFBSSxDQUFDLEVBQUUsR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxDQUFDO0NBQ0YifQ==
@@ -1,15 +1,11 @@
1
- import { GlobalGraph } from "@eggjs/tegg-metadata";
2
- import { Application } from "egg";
3
-
4
- //#region src/lib/EggModuleLoader.d.ts
5
- declare class EggModuleLoader {
6
- app: Application;
7
- globalGraph: GlobalGraph;
8
- constructor(app: Application);
9
- private loadApp;
10
- private buildAppGraph;
11
- private loadModule;
12
- load(): Promise<void>;
1
+ import { GlobalGraph } from '@eggjs/tegg-metadata';
2
+ import { Application } from 'egg';
3
+ export declare class EggModuleLoader {
4
+ app: Application;
5
+ globalGraph: GlobalGraph;
6
+ constructor(app: Application);
7
+ private loadApp;
8
+ private buildAppGraph;
9
+ private loadModule;
10
+ load(): Promise<void>;
13
11
  }
14
- //#endregion
15
- export { EggModuleLoader };
@@ -1,6 +1,54 @@
1
- import "../EggCompatibleProtoImpl-CPxLvSu4.js";
2
- import "../ModuleConfigLoader-CvZLf99E.js";
3
- import "../EggAppLoader-DFYg65ry.js";
4
- import { EggModuleLoader } from "../EggModuleLoader-CCfQMmp5.js";
5
-
6
- export { EggModuleLoader };
1
+ import { EggLoadUnitType, LoadUnitFactory, GlobalGraph, ModuleDescriptorDumper, } from '@eggjs/tegg-metadata';
2
+ import { LoaderFactory } from '@eggjs/tegg-loader';
3
+ import { Application } from 'egg';
4
+ import { EggAppLoader } from "./EggAppLoader.js";
5
+ export class EggModuleLoader {
6
+ app;
7
+ globalGraph;
8
+ constructor(app) {
9
+ this.app = app;
10
+ }
11
+ async loadApp() {
12
+ const loader = new EggAppLoader(this.app);
13
+ const loadUnit = await LoadUnitFactory.createLoadUnit(this.app.baseDir, EggLoadUnitType.APP, loader);
14
+ this.app.moduleHandler.loadUnits.push(loadUnit);
15
+ }
16
+ async buildAppGraph() {
17
+ for (const plugin of Object.values(this.app.plugins)) {
18
+ if (!plugin.enable)
19
+ continue;
20
+ const modulePlugin = this.app.moduleReferences.find(t => t.path === plugin.path);
21
+ if (modulePlugin) {
22
+ modulePlugin.optional = false;
23
+ }
24
+ }
25
+ const moduleDescriptors = await LoaderFactory.loadApp(this.app.moduleReferences);
26
+ for (const moduleDescriptor of moduleDescriptors) {
27
+ ModuleDescriptorDumper.dump(moduleDescriptor, {
28
+ dumpDir: this.app.baseDir,
29
+ }).catch(e => {
30
+ e.message = 'dump module descriptor failed: ' + e.message;
31
+ this.app.logger.warn(e);
32
+ });
33
+ }
34
+ const graph = await GlobalGraph.create(moduleDescriptors);
35
+ return graph;
36
+ }
37
+ async loadModule() {
38
+ this.globalGraph.build();
39
+ this.globalGraph.sort();
40
+ const moduleConfigList = this.globalGraph.moduleConfigList;
41
+ for (const moduleConfig of moduleConfigList) {
42
+ const modulePath = moduleConfig.path;
43
+ const loader = LoaderFactory.createLoader(modulePath, EggLoadUnitType.MODULE);
44
+ const loadUnit = await LoadUnitFactory.createLoadUnit(modulePath, EggLoadUnitType.MODULE, loader);
45
+ this.app.moduleHandler.loadUnits.push(loadUnit);
46
+ }
47
+ }
48
+ async load() {
49
+ GlobalGraph.instance = this.globalGraph = await this.buildAppGraph();
50
+ await this.loadApp();
51
+ await this.loadModule();
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnTW9kdWxlTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dNb2R1bGVMb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEVBQ2YsV0FBVyxFQUFFLHNCQUFzQixHQUNwQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixHQUFHLENBQWM7SUFDakIsV0FBVyxDQUFjO0lBRXpCLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYTtRQUN6QixLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtnQkFBRSxTQUFTO1lBQzdCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakYsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsWUFBWSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDaEMsQ0FBQztRQUNILENBQUM7UUFDRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakYsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO2dCQUM1QyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPO2FBQzFCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1gsQ0FBQyxDQUFDLE9BQU8sR0FBRyxpQ0FBaUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBTSxXQUFXLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDMUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVU7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMzRCxLQUFLLE1BQU0sWUFBWSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDNUMsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQyxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxlQUFlLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2xHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLFdBQVcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyRSxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YifQ==
@@ -1,14 +1,10 @@
1
- import { LoadUnit, LoadUnitLifecycleContext } from "@eggjs/tegg-metadata";
2
- import { LifecycleHook } from "@eggjs/tegg";
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;
1
+ import { type LoadUnitLifecycleContext, type LoadUnit } from '@eggjs/tegg-metadata';
2
+ import { type LifecycleHook } from '@eggjs/tegg';
3
+ import { Application } from 'egg';
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;
12
10
  }
13
- //#endregion
14
- export { EggQualifierProtoHook };
@@ -1,6 +1,62 @@
1
- import "../EggCompatibleProtoImpl-CPxLvSu4.js";
2
- import "../ModuleConfigLoader-CvZLf99E.js";
3
- import "../EggAppLoader-DFYg65ry.js";
4
- import { EggQualifierProtoHook } from "../EggQualifierProtoHook-D5jNm-1y.js";
5
-
6
- export { EggQualifierProtoHook };
1
+ import { debuglog } from 'node:util';
2
+ import {} from '@eggjs/tegg-metadata';
3
+ import { PrototypeUtil, QualifierUtil, EggQualifierAttribute, EggType, } from '@eggjs/tegg';
4
+ import { Application } from 'egg';
5
+ import { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ, } from './EggAppLoader.js';
6
+ import { ObjectUtils } from '@eggjs/tegg-common-util';
7
+ const debug = debuglog('tegg/plugin/tegg/lib/EggQualifierProtoHook');
8
+ export class EggQualifierProtoHook {
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) {
18
+ debug('preCreate, get clazzList:%o, appProperties:%o, ctxProperties:%o, from unitPath:%o', clazzList.map(t => t.name), appProperties.length, ctxProperties.length, ctx.unitPath);
19
+ }
20
+ for (const clazz of clazzList) {
21
+ const inbjectObjects = PrototypeUtil.getInjectObjects(clazz) || [];
22
+ if (debug.enabled && inbjectObjects.length > 0) {
23
+ debug('preCreate, get injectObjects:%o, from clazz:%o, from unitPath:%o', inbjectObjects.map(t => t.refName), clazz.name, ctx.unitPath);
24
+ }
25
+ for (const injectObject of inbjectObjects) {
26
+ const propertyQualifiers = QualifierUtil.getProperQualifiers(clazz, injectObject.refName);
27
+ const hasEggQualifier = propertyQualifiers.find(t => t.attribute === EggQualifierAttribute);
28
+ if (hasEggQualifier) {
29
+ continue;
30
+ }
31
+ if (this.isCtxObject(injectObject.objName, ctxProperties)) {
32
+ QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.CONTEXT);
33
+ }
34
+ else if (this.isAppObject(injectObject.objName, appProperties)) {
35
+ QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.APP);
36
+ debug('preCreate, add proper qualifier:%o to clazz:%o, from unitPath:%o', injectObject.refName, clazz.name, ctx.unitPath);
37
+ }
38
+ }
39
+ }
40
+ }
41
+ isAppObject(name, appProperties) {
42
+ name = String(name);
43
+ if (APP_CLAZZ_BLACK_LIST.includes(name)) {
44
+ return false;
45
+ }
46
+ if (DEFAULT_APP_CLAZZ.includes(name)) {
47
+ return true;
48
+ }
49
+ return appProperties.includes(name);
50
+ }
51
+ isCtxObject(name, ctxProperties) {
52
+ name = String(name);
53
+ if (CONTEXT_CLAZZ_BLACK_LIST.includes(name)) {
54
+ return false;
55
+ }
56
+ if (DEFAULT_CONTEXT_CLAZZ.includes(name)) {
57
+ return true;
58
+ }
59
+ return ctxProperties.includes(name);
60
+ }
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUXVhbGlmaWVyUHJvdG9Ib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dRdWFsaWZpZXJQcm90b0hvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQWdELE1BQU0sc0JBQXNCLENBQUM7QUFDcEYsT0FBTyxFQUVMLGFBQWEsRUFDYixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLE9BQU8sR0FDUixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2xDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixxQkFBcUIsR0FDdEIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7QUFFckUsTUFBTSxPQUFPLHFCQUFxQjtJQUNmLEdBQUcsQ0FBYztJQUVsQyxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQTZCO1FBQzNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEUsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsS0FBSyxDQUFDLG1GQUFtRixF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
@@ -1,12 +1,8 @@
1
- import { EggProtoImplClass } from "@eggjs/tegg";
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[];
1
+ import { type EggProtoImplClass } from '@eggjs/tegg';
2
+ import { Application } from 'egg';
3
+ export declare class ModuleConfigLoader {
4
+ readonly app: Application;
5
+ constructor(app: Application);
6
+ private loadModuleConfigs;
7
+ loadModuleConfigList(): EggProtoImplClass[];
10
8
  }
11
- //#endregion
12
- export { ModuleConfigLoader };
@@ -1,4 +1,81 @@
1
- import "../EggCompatibleProtoImpl-CPxLvSu4.js";
2
- import { ModuleConfigLoader } from "../ModuleConfigLoader-CvZLf99E.js";
3
-
4
- export { ModuleConfigLoader };
1
+ import { AccessLevel, EggQualifierAttribute, EggType, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ModuleConfigs, ObjectInitType, PrototypeUtil, QualifierUtil, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
2
+ import { ModuleConfigUtil } from '@eggjs/tegg/helper';
3
+ import { Application } from 'egg';
4
+ import { extend } from 'extend2';
5
+ import { COMPATIBLE_PROTO_IMPLE_TYPE } from "./EggCompatibleProtoImpl.js";
6
+ export class ModuleConfigLoader {
7
+ app;
8
+ constructor(app) {
9
+ this.app = app;
10
+ }
11
+ loadModuleConfigs(moduleConfigMap) {
12
+ const moduleConfigs = new ModuleConfigs(moduleConfigMap);
13
+ const func = function () {
14
+ return moduleConfigs;
15
+ };
16
+ const name = 'moduleConfigs';
17
+ Object.defineProperty(func, 'name', {
18
+ value: name,
19
+ writable: false,
20
+ enumerable: false,
21
+ configurable: true,
22
+ });
23
+ PrototypeUtil.setIsEggPrototype(func);
24
+ PrototypeUtil.setFilePath(func, 'mock_file_path');
25
+ PrototypeUtil.setProperty(func, {
26
+ name,
27
+ initType: ObjectInitType.SINGLETON,
28
+ accessLevel: AccessLevel.PUBLIC,
29
+ protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
30
+ });
31
+ QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
32
+ QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
33
+ QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
34
+ return func;
35
+ }
36
+ loadModuleConfigList() {
37
+ const result = [];
38
+ const moduleConfigMap = {};
39
+ for (const reference of this.app.moduleReferences) {
40
+ const moduleName = ModuleConfigUtil.readModuleNameSync(reference.path);
41
+ const defaultConfig = ModuleConfigUtil.loadModuleConfigSync(reference.path, undefined, this.app.config.env);
42
+ // @eggjs/tegg-config moduleConfigs[module].config overwrite
43
+ const config = extend(true, {}, defaultConfig, this.app.moduleConfigs[moduleName]?.config);
44
+ moduleConfigMap[moduleName] = {
45
+ name: moduleName,
46
+ reference: {
47
+ name: moduleName,
48
+ path: reference.path,
49
+ },
50
+ config,
51
+ };
52
+ const func = function () {
53
+ return config;
54
+ };
55
+ const name = 'moduleConfig';
56
+ Object.defineProperty(func, 'name', {
57
+ value: name,
58
+ writable: false,
59
+ enumerable: false,
60
+ configurable: true,
61
+ });
62
+ PrototypeUtil.setIsEggPrototype(func);
63
+ PrototypeUtil.setFilePath(func, 'mock_file_path');
64
+ PrototypeUtil.setProperty(func, {
65
+ name,
66
+ initType: ObjectInitType.SINGLETON,
67
+ accessLevel: AccessLevel.PUBLIC,
68
+ protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
69
+ });
70
+ QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
71
+ QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
72
+ QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
73
+ QualifierUtil.addProtoQualifier(func, ConfigSourceQualifierAttribute, moduleName);
74
+ result.push(func);
75
+ }
76
+ const moduleConfigs = this.loadModuleConfigs(moduleConfigMap);
77
+ result.push(moduleConfigs);
78
+ return result;
79
+ }
80
+ }
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9Nb2R1bGVDb25maWdMb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxxQkFBcUIsRUFDckIsT0FBTyxFQUNQLDBCQUEwQixFQUMxQiw4QkFBOEIsRUFBRSxhQUFhLEVBQzdDLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNZLDhCQUE4QixHQUN4RCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFakMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsTUFBTSxPQUFPLGtCQUFrQjtJQUNwQixHQUFHLENBQWM7SUFDMUIsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRU8saUJBQWlCLENBQUMsZUFBbUQ7UUFDM0UsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLEdBQXNCO1lBQzlCLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQVEsQ0FBQztRQUNULE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztR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
@@ -1,2 +1,13 @@
1
- import { ModuleHandler } from "../ModuleHandler-Dyx7JGj-.js";
2
- export { ModuleHandler };
1
+ import { Base } from 'sdk-base';
2
+ import { Application } from 'egg';
3
+ import { type LoadUnit } from '@eggjs/tegg-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>;
13
+ }