@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.
- package/dist/app/extend/application.d.ts +50 -4
- package/dist/app/extend/application.js +79 -10
- package/dist/app/extend/application.unittest.d.ts +22 -2
- package/dist/app/extend/application.unittest.js +55 -4
- package/dist/app/extend/context.d.ts +20 -2
- package/dist/app/extend/context.js +35 -5
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +2 -5
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +4 -9
- package/dist/app.d.ts +16 -21
- package/dist/app.js +63 -65
- package/dist/index.d.ts +3 -6
- package/dist/index.js +4 -15
- package/dist/lib/AppLoadUnit.d.ts +19 -2
- package/dist/lib/AppLoadUnit.js +90 -3
- package/dist/lib/AppLoadUnitInstance.d.ts +20 -2
- package/dist/lib/AppLoadUnitInstance.js +82 -3
- package/dist/lib/CompatibleUtil.d.ts +13 -17
- package/dist/lib/CompatibleUtil.js +95 -3
- package/dist/lib/ConfigSourceLoadUnitHook.d.ts +4 -9
- package/dist/lib/ConfigSourceLoadUnitHook.js +21 -3
- package/dist/lib/EggAppLoader.d.ts +15 -19
- package/dist/lib/EggAppLoader.js +128 -5
- package/dist/lib/EggCompatibleObject.d.ts +18 -3
- package/dist/lib/EggCompatibleObject.js +42 -4
- package/dist/lib/EggCompatibleProtoImpl.d.ts +21 -2
- package/dist/lib/EggCompatibleProtoImpl.js +52 -3
- package/dist/lib/EggContextCompatibleHook.d.ts +9 -13
- package/dist/lib/EggContextCompatibleHook.js +44 -9
- package/dist/lib/EggContextHandler.d.ts +9 -2
- package/dist/lib/EggContextHandler.js +26 -3
- package/dist/lib/EggContextImpl.d.ts +5 -9
- package/dist/lib/EggContextImpl.js +15 -3
- package/dist/lib/EggModuleLoader.d.ts +10 -14
- package/dist/lib/EggModuleLoader.js +54 -6
- package/dist/lib/EggQualifierProtoHook.d.ts +9 -13
- package/dist/lib/EggQualifierProtoHook.js +62 -6
- package/dist/lib/ModuleConfigLoader.d.ts +7 -11
- package/dist/lib/ModuleConfigLoader.js +81 -4
- package/dist/lib/ModuleHandler.d.ts +13 -2
- package/dist/lib/ModuleHandler.js +53 -8
- package/dist/lib/Utils.d.ts +1 -4
- package/dist/lib/Utils.js +36 -3
- package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -2
- package/dist/lib/ctx_lifecycle_middleware.js +33 -4
- package/dist/lib/run_in_background.d.ts +3 -7
- package/dist/lib/run_in_background.js +58 -7
- package/dist/types.d.ts +8 -6
- package/dist/types.js +5 -15
- package/package.json +12 -12
- package/dist/AppLoadUnit-BOWdS4O9.d.ts +0 -23
- package/dist/AppLoadUnit-uyHgElRL.js +0 -78
- package/dist/AppLoadUnitInstance-4Z_vSQV3.js +0 -69
- package/dist/AppLoadUnitInstance-DQ-DxlmR.d.ts +0 -24
- package/dist/CompatibleUtil-CNhydb0E.js +0 -96
- package/dist/ConfigSourceLoadUnitHook-BV-R31vA.js +0 -22
- package/dist/EggAppLoader-DFYg65ry.js +0 -106
- package/dist/EggCompatibleObject-XfIZyirS.js +0 -37
- package/dist/EggCompatibleObject-lzUCfsIY.d.ts +0 -21
- package/dist/EggCompatibleProtoImpl-CPxLvSu4.js +0 -50
- package/dist/EggCompatibleProtoImpl-DpacWKFB.d.ts +0 -25
- package/dist/EggContextCompatibleHook-eFfN2xm6.js +0 -31
- package/dist/EggContextHandler-D8gfTbZs.js +0 -29
- package/dist/EggContextHandler-vGi67He5.d.ts +0 -13
- package/dist/EggContextImpl-DkCLPTzT.js +0 -18
- package/dist/EggModuleLoader-CCfQMmp5.js +0 -50
- package/dist/EggQualifierProtoHook-D5jNm-1y.js +0 -48
- package/dist/ModuleConfigLoader-CvZLf99E.js +0 -84
- package/dist/ModuleHandler-Dyx7JGj-.d.ts +0 -17
- package/dist/ModuleHandler-fKcUqWca.js +0 -46
- package/dist/Utils-11aRpnkd.js +0 -33
- package/dist/application-Ccljinuy.d.ts +0 -57
- package/dist/application-DFI1junS.js +0 -70
- package/dist/application.unittest-Cmia71Fx.js +0 -43
- package/dist/application.unittest-CpoCu6-E.d.ts +0 -26
- package/dist/context-BWYE1dif.js +0 -30
- package/dist/context-BoIt2G5h.d.ts +0 -24
- package/dist/ctx_lifecycle_middleware-CIeSrbVY.js +0 -27
- package/dist/ctx_lifecycle_middleware-DV7uN5PG.d.ts +0 -6
- package/dist/run_in_background-CEUPBmDB.js +0 -51
- package/dist/types-BHg5p4Xk.js +0 -3
- package/dist/types-CuoKQV4X.d.ts +0 -7
|
@@ -1,4 +1,42 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
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 {
|
|
2
|
-
|
|
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 {
|
|
2
|
-
|
|
3
|
-
export
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import "
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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 {
|
|
2
|
-
|
|
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 {
|
|
2
|
-
|
|
3
|
-
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 {
|
|
2
|
-
|
|
3
|
-
|
|
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
|
|
2
|
-
import { Application } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
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 {
|
|
2
|
-
import { LifecycleHook } from
|
|
3
|
-
import { Application } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
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
|
|
2
|
-
import { Application } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
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 {
|
|
2
|
-
|
|
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
|
+
}
|