@eggjs/tegg-metadata 3.46.1 → 3.46.2
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/index.d.ts +8 -0
- package/dist/index.js +9 -1
- package/dist/src/factory/EggPrototypeCreatorFactory.d.ts +2 -0
- package/dist/src/factory/EggPrototypeCreatorFactory.js +20 -1
- package/dist/src/impl/EggPrototypeBuilder.js +1 -3
- package/dist/src/impl/ModuleLoadUnit.d.ts +5 -3
- package/dist/src/impl/ModuleLoadUnit.js +27 -42
- package/dist/src/model/ModuleDescriptor.d.ts +18 -0
- package/dist/src/model/ModuleDescriptor.js +46 -0
- package/dist/src/model/ProtoDescriptor/AbstractProtoDescriptor.d.ts +32 -0
- package/dist/src/model/ProtoDescriptor/AbstractProtoDescriptor.js +21 -0
- package/dist/src/model/ProtoDescriptor/ClassProtoDescriptor.d.ts +12 -0
- package/dist/src/model/ProtoDescriptor/ClassProtoDescriptor.js +32 -0
- package/dist/src/model/ProtoDescriptorHelper.d.ts +26 -0
- package/dist/src/model/ProtoDescriptorHelper.js +149 -0
- package/dist/src/model/graph/GlobalGraph.d.ts +55 -0
- package/dist/src/model/graph/GlobalGraph.js +203 -0
- package/dist/src/model/graph/GlobalModuleNode.d.ts +25 -0
- package/dist/src/model/graph/GlobalModuleNode.js +36 -0
- package/dist/src/model/graph/GlobalModuleNodeBuilder.d.ts +13 -0
- package/dist/src/model/graph/GlobalModuleNodeBuilder.js +53 -0
- package/dist/src/model/graph/ProtoNode.d.ts +19 -0
- package/dist/src/model/graph/ProtoNode.js +39 -0
- package/dist/src/model/graph/ProtoSelector.d.ts +6 -0
- package/dist/src/model/graph/ProtoSelector.js +3 -0
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -8,5 +8,13 @@ export * from './src/errors';
|
|
|
8
8
|
export * from './src/util/ClassUtil';
|
|
9
9
|
export * from './src/impl/LoadUnitMultiInstanceProtoHook';
|
|
10
10
|
export * from './src/model/AppGraph';
|
|
11
|
+
export * from './src/model/graph/GlobalGraph';
|
|
12
|
+
export * from './src/model/graph/GlobalModuleNode';
|
|
13
|
+
export * from './src/model/graph/GlobalModuleNodeBuilder';
|
|
14
|
+
export * from './src/model/graph/ProtoNode';
|
|
15
|
+
export * from './src/model/graph/ProtoSelector';
|
|
16
|
+
export * from './src/model/ProtoDescriptor/AbstractProtoDescriptor';
|
|
17
|
+
export * from './src/model/ProtoDescriptor/ClassProtoDescriptor';
|
|
18
|
+
export * from './src/model/ModuleDescriptor';
|
|
11
19
|
import './src/impl/ModuleLoadUnit';
|
|
12
20
|
import './src/impl/EggPrototypeBuilder';
|
package/dist/index.js
CHANGED
|
@@ -24,6 +24,14 @@ __exportStar(require("./src/errors"), exports);
|
|
|
24
24
|
__exportStar(require("./src/util/ClassUtil"), exports);
|
|
25
25
|
__exportStar(require("./src/impl/LoadUnitMultiInstanceProtoHook"), exports);
|
|
26
26
|
__exportStar(require("./src/model/AppGraph"), exports);
|
|
27
|
+
__exportStar(require("./src/model/graph/GlobalGraph"), exports);
|
|
28
|
+
__exportStar(require("./src/model/graph/GlobalModuleNode"), exports);
|
|
29
|
+
__exportStar(require("./src/model/graph/GlobalModuleNodeBuilder"), exports);
|
|
30
|
+
__exportStar(require("./src/model/graph/ProtoNode"), exports);
|
|
31
|
+
__exportStar(require("./src/model/graph/ProtoSelector"), exports);
|
|
32
|
+
__exportStar(require("./src/model/ProtoDescriptor/AbstractProtoDescriptor"), exports);
|
|
33
|
+
__exportStar(require("./src/model/ProtoDescriptor/ClassProtoDescriptor"), exports);
|
|
34
|
+
__exportStar(require("./src/model/ModuleDescriptor"), exports);
|
|
27
35
|
require("./src/impl/ModuleLoadUnit");
|
|
28
36
|
require("./src/impl/EggPrototypeBuilder");
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTJDO0FBQzNDLG9FQUFrRDtBQUNsRCwyRUFBeUQ7QUFDekQsZ0VBQThDO0FBQzlDLDJEQUF5QztBQUN6Qyx1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLHVEQUFxQztBQUNyQyw0RUFBMEQ7QUFDMUQsdURBQXFDO0FBRXJDLGdFQUE4QztBQUM5QyxxRUFBbUQ7QUFDbkQsNEVBQTBEO0FBQzFELDhEQUE0QztBQUM1QyxrRUFBZ0Q7QUFDaEQsc0ZBQW9FO0FBQ3BFLG1GQUFpRTtBQUNqRSwrREFBNkM7QUFFN0MscUNBQW1DO0FBQ25DLDBDQUF3QyJ9
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { EggProtoImplClass, EggPrototypeCreator, LoadUnit, EggPrototype } from '@eggjs/tegg-types';
|
|
2
|
+
import { ClassProtoDescriptor } from '../model/ProtoDescriptor/ClassProtoDescriptor';
|
|
2
3
|
export declare class EggPrototypeCreatorFactory {
|
|
3
4
|
private static creatorMap;
|
|
4
5
|
static registerPrototypeCreator(type: string, creator: EggPrototypeCreator): void;
|
|
5
6
|
static getPrototypeCreator(type: string): EggPrototypeCreator | undefined;
|
|
6
7
|
static createProto(clazz: EggProtoImplClass, loadUnit: LoadUnit): Promise<EggPrototype[]>;
|
|
8
|
+
static createProtoByDescriptor(protoDescriptor: ClassProtoDescriptor, loadUnit: LoadUnit): Promise<EggPrototype>;
|
|
7
9
|
}
|
|
@@ -70,7 +70,26 @@ class EggPrototypeCreatorFactory {
|
|
|
70
70
|
}
|
|
71
71
|
return protos;
|
|
72
72
|
}
|
|
73
|
+
static async createProtoByDescriptor(protoDescriptor, loadUnit) {
|
|
74
|
+
const creator = this.getPrototypeCreator(protoDescriptor.protoImplType);
|
|
75
|
+
if (!creator) {
|
|
76
|
+
throw new Error(`not found proto creator for type: ${protoDescriptor.protoImplType}`);
|
|
77
|
+
}
|
|
78
|
+
const ctx = {
|
|
79
|
+
clazz: protoDescriptor.clazz,
|
|
80
|
+
loadUnit,
|
|
81
|
+
prototypeInfo: protoDescriptor,
|
|
82
|
+
};
|
|
83
|
+
const proto = creator(ctx);
|
|
84
|
+
await EggPrototype_1.EggPrototypeLifecycleUtil.objectPreCreate(ctx, proto);
|
|
85
|
+
if (proto.init) {
|
|
86
|
+
await proto.init(ctx);
|
|
87
|
+
}
|
|
88
|
+
await EggPrototype_1.EggPrototypeLifecycleUtil.objectPostCreate(ctx, proto);
|
|
89
|
+
core_decorator_1.PrototypeUtil.setClazzProto(protoDescriptor.clazz, proto);
|
|
90
|
+
return proto;
|
|
91
|
+
}
|
|
73
92
|
}
|
|
74
93
|
exports.EggPrototypeCreatorFactory = EggPrototypeCreatorFactory;
|
|
75
94
|
EggPrototypeCreatorFactory.creatorMap = new Map();
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlQ3JlYXRvckZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9FZ2dQcm90b3R5cGVDcmVhdG9yRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBa0g7QUFTbEgsd0RBQWtFO0FBR2xFLE1BQWEsMEJBQTBCO0lBR3JDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFZLEVBQUUsT0FBNEI7UUFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUF3QixFQUFFLFFBQWtCO1FBQ25FLElBQUksVUFBVSxHQUF1QixFQUFFLENBQUM7UUFDeEMsSUFBSSw4QkFBYSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckQsTUFBTSxzQkFBc0IsR0FBRyw4QkFBYSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRTtnQkFDM0UsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO2dCQUMzQixVQUFVLEVBQUUsUUFBUSxDQUFDLElBQUk7YUFDMUIsQ0FBRSxDQUFDO1lBQ0osS0FBSyxNQUFNLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDO3dCQUN4QixTQUFTLEVBQUUsMkNBQTBCO3dCQUNyQyxLQUFLLEVBQUUsOEJBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFOzRCQUN0QyxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7NEJBQzNCLFVBQVUsRUFBRSxRQUFRLENB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
|
|
@@ -37,7 +37,6 @@ class EggPrototypeBuilder {
|
|
|
37
37
|
...core_decorator_1.QualifierUtil.getProtoQualifiers(clazz),
|
|
38
38
|
...((_a = ctx.prototypeInfo.qualifiers) !== null && _a !== void 0 ? _a : []),
|
|
39
39
|
];
|
|
40
|
-
console.log('proto: ', ctx.prototypeInfo.properQualifiers);
|
|
41
40
|
builder.properQualifiers = (_b = ctx.prototypeInfo.properQualifiers) !== null && _b !== void 0 ? _b : {};
|
|
42
41
|
builder.multiInstanceConstructorIndex = core_decorator_1.PrototypeUtil.getMultiInstanceConstructorIndex(clazz);
|
|
43
42
|
builder.multiInstanceConstructorAttributes = core_decorator_1.PrototypeUtil.getMultiInstanceConstructorAttributes(clazz);
|
|
@@ -47,7 +46,6 @@ class EggPrototypeBuilder {
|
|
|
47
46
|
var _a;
|
|
48
47
|
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
49
48
|
const multiInstancePropertyQualifiers = (_a = this.properQualifiers[injectObject.refName]) !== null && _a !== void 0 ? _a : [];
|
|
50
|
-
console.log('multi instance: ', this.properQualifiers, injectObject.refName);
|
|
51
49
|
return EggPrototypeFactory_1.EggPrototypeFactory.instance.getPrototype(injectObject.objName, this.loadUnit, [
|
|
52
50
|
...propertyQualifiers,
|
|
53
51
|
...multiInstancePropertyQualifiers,
|
|
@@ -128,4 +126,4 @@ class EggPrototypeBuilder {
|
|
|
128
126
|
}
|
|
129
127
|
exports.EggPrototypeBuilder = EggPrototypeBuilder;
|
|
130
128
|
EggPrototypeCreatorFactory_1.EggPrototypeCreatorFactory.registerPrototypeCreator(tegg_types_1.DEFAULT_PROTO_IMPL_TYPE, EggPrototypeBuilder.create);
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL0VnZ1Byb3RvdHlwZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLDBEQUFxRztBQWFyRyxrREFLMkI7QUFDM0Isd0VBQXFFO0FBQ3JFLDBEQUFzRDtBQUN0RCx5REFBc0Q7QUFDdEQsc0ZBQW1GO0FBQ25GLHNDQUFzRTtBQUV0RSxNQUFhLG1CQUFtQjtJQUFoQztRQU9VLGtCQUFhLEdBQTRDLEVBQUUsQ0FBQztRQUU1RCxlQUFVLEdBQW9CLEVBQUUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBeUMsRUFBRSxDQUFDO0lBMEh0RSxDQUFDO0lBckhDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBaUM7O1FBQzdDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUEscUJBQU0sRUFBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUN0QyxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDOUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVMsQ0FBQztRQUM3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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EggLoadUnitType } from '@eggjs/tegg-types';
|
|
2
|
-
import type { EggProtoImplClass, EggPrototype,
|
|
2
|
+
import type { EggProtoImplClass, EggPrototype, LoadUnit, LoadUnitLifecycleContext, QualifierInfo } from '@eggjs/tegg-types';
|
|
3
|
+
import { GlobalGraph } from '../model/graph/GlobalGraph';
|
|
3
4
|
export declare class ModuleGraph {
|
|
4
5
|
private graph;
|
|
5
6
|
clazzList: EggProtoImplClass[];
|
|
@@ -11,14 +12,15 @@ export declare class ModuleGraph {
|
|
|
11
12
|
sort(): void;
|
|
12
13
|
}
|
|
13
14
|
export declare class ModuleLoadUnit implements LoadUnit {
|
|
14
|
-
private loader;
|
|
15
15
|
private protoMap;
|
|
16
|
+
private protos;
|
|
16
17
|
private clazzList;
|
|
17
18
|
readonly id: string;
|
|
18
19
|
readonly name: string;
|
|
19
20
|
readonly unitPath: string;
|
|
20
21
|
readonly type = EggLoadUnitType.MODULE;
|
|
21
|
-
|
|
22
|
+
get globalGraph(): GlobalGraph;
|
|
23
|
+
constructor(name: string, unitPath: string);
|
|
22
24
|
private doLoadClazz;
|
|
23
25
|
private loadClazz;
|
|
24
26
|
preLoad(): Promise<void>;
|
|
@@ -8,15 +8,17 @@ const node_assert_1 = __importDefault(require("node:assert"));
|
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
10
10
|
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
11
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
12
|
-
const egg_errors_1 = require("egg-errors");
|
|
13
11
|
const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
|
|
14
12
|
const EggPrototypeFactory_1 = require("../factory/EggPrototypeFactory");
|
|
15
13
|
const LoadUnitFactory_1 = require("../factory/LoadUnitFactory");
|
|
16
14
|
const EggPrototypeCreatorFactory_1 = require("../factory/EggPrototypeCreatorFactory");
|
|
17
15
|
const errors_1 = require("../errors");
|
|
18
|
-
const
|
|
16
|
+
const egg_errors_1 = require("egg-errors");
|
|
17
|
+
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
18
|
+
const ClassProtoDescriptor_1 = require("../model/ProtoDescriptor/ClassProtoDescriptor");
|
|
19
|
+
const GlobalGraph_1 = require("../model/graph/GlobalGraph");
|
|
19
20
|
let id = 0;
|
|
21
|
+
// TODO del ModuleGraph in next major version
|
|
20
22
|
class ProtoNode {
|
|
21
23
|
constructor(clazz, objName, initType, qualifiers) {
|
|
22
24
|
this.name = objName;
|
|
@@ -38,7 +40,7 @@ class ProtoNode {
|
|
|
38
40
|
return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
|
|
39
41
|
}
|
|
40
42
|
toString() {
|
|
41
|
-
return `${this.clazz.name}@${
|
|
43
|
+
return `${this.clazz.name}@${this.PrototypeUtil.getFilePath(this.clazz)}`;
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
46
|
class ModuleGraph {
|
|
@@ -159,55 +161,40 @@ class ModuleGraph {
|
|
|
159
161
|
}
|
|
160
162
|
exports.ModuleGraph = ModuleGraph;
|
|
161
163
|
class ModuleLoadUnit {
|
|
162
|
-
|
|
164
|
+
get globalGraph() {
|
|
165
|
+
return GlobalGraph_1.GlobalGraph.instance;
|
|
166
|
+
}
|
|
167
|
+
constructor(name, unitPath) {
|
|
168
|
+
// private loader: Loader;
|
|
163
169
|
this.protoMap = new Map();
|
|
164
170
|
this.type = tegg_types_1.EggLoadUnitType.MODULE;
|
|
165
171
|
this.id = tegg_lifecycle_1.IdenticalUtil.createLoadUnitId(name);
|
|
166
172
|
this.name = name;
|
|
167
173
|
this.unitPath = unitPath;
|
|
168
|
-
this.loader = loader;
|
|
169
174
|
}
|
|
170
175
|
doLoadClazz() {
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
value: core_decorator_1.PrototypeUtil.getInitType(clazz, {
|
|
177
|
-
unitPath: this.unitPath,
|
|
178
|
-
moduleName: this.name,
|
|
179
|
-
}),
|
|
180
|
-
}, {
|
|
181
|
-
attribute: tegg_types_1.LoadUnitNameQualifierAttribute,
|
|
182
|
-
value: this.name,
|
|
183
|
-
}];
|
|
184
|
-
defaultQualifier.forEach(qualifier => {
|
|
185
|
-
core_decorator_1.QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
|
|
186
|
-
});
|
|
176
|
+
const protos = this.globalGraph.moduleProtoDescriptorMap.get(this.name);
|
|
177
|
+
if (protos) {
|
|
178
|
+
// TODO ModuleLoadUnit should support all proto descriptor
|
|
179
|
+
this.protos = protos.filter(t => ClassProtoDescriptor_1.ClassProtoDescriptor.isClassProtoDescriptor(t));
|
|
180
|
+
this.clazzList = this.protos.map(t => t.clazz);
|
|
187
181
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
unitPath: this.unitPath,
|
|
192
|
-
});
|
|
193
|
-
if (instanceProperty) {
|
|
194
|
-
result.push(clazz);
|
|
195
|
-
}
|
|
182
|
+
else {
|
|
183
|
+
this.protos = [];
|
|
184
|
+
this.clazzList = [];
|
|
196
185
|
}
|
|
197
|
-
return result;
|
|
198
186
|
}
|
|
199
187
|
loadClazz() {
|
|
200
188
|
if (!this.clazzList) {
|
|
201
|
-
|
|
202
|
-
const protoGraph = new ModuleGraph(clazzList, this.unitPath, this.name);
|
|
203
|
-
protoGraph.sort();
|
|
204
|
-
this.clazzList = protoGraph.clazzList;
|
|
189
|
+
this.doLoadClazz();
|
|
205
190
|
}
|
|
206
191
|
}
|
|
207
192
|
async preLoad() {
|
|
208
193
|
var _a;
|
|
209
194
|
this.loadClazz();
|
|
210
195
|
for (const protoClass of this.clazzList) {
|
|
196
|
+
// TODO refactor lifecycle hook to ProtoDescriptor or EggPrototype
|
|
197
|
+
// ModuleLoadUnit should not use clazz list
|
|
211
198
|
const fnName = tegg_lifecycle_1.LifecycleUtil.getStaticLifecycleHook('preLoad', protoClass);
|
|
212
199
|
if (fnName) {
|
|
213
200
|
await ((_a = protoClass[fnName]) === null || _a === void 0 ? void 0 : _a.call(protoClass));
|
|
@@ -216,11 +203,9 @@ class ModuleLoadUnit {
|
|
|
216
203
|
}
|
|
217
204
|
async init() {
|
|
218
205
|
this.loadClazz();
|
|
219
|
-
for (const
|
|
220
|
-
const
|
|
221
|
-
|
|
222
|
-
EggPrototypeFactory_1.EggPrototypeFactory.instance.registerPrototype(proto, this);
|
|
223
|
-
}
|
|
206
|
+
for (const protoDescriptor of this.protos) {
|
|
207
|
+
const proto = await EggPrototypeCreatorFactory_1.EggPrototypeCreatorFactory.createProtoByDescriptor(protoDescriptor, this);
|
|
208
|
+
EggPrototypeFactory_1.EggPrototypeFactory.instance.registerPrototype(proto, this);
|
|
224
209
|
}
|
|
225
210
|
}
|
|
226
211
|
containPrototype(proto) {
|
|
@@ -266,9 +251,9 @@ class ModuleLoadUnit {
|
|
|
266
251
|
const pkg = require(pkgPath);
|
|
267
252
|
(0, node_assert_1.default)(pkg.eggModule, `module config not found in package ${pkgPath}`);
|
|
268
253
|
const { name } = pkg.eggModule;
|
|
269
|
-
return new ModuleLoadUnit(name, ctx.unitPath
|
|
254
|
+
return new ModuleLoadUnit(name, ctx.unitPath);
|
|
270
255
|
}
|
|
271
256
|
}
|
|
272
257
|
exports.ModuleLoadUnit = ModuleLoadUnit;
|
|
273
258
|
LoadUnitFactory_1.LoadUnitFactory.registerLoadUnitCreator(tegg_types_1.EggLoadUnitType.MODULE, ModuleLoadUnit.createModule);
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1wbC9Nb2R1bGVMb2FkVW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBaUM7QUFDakMsMERBQTZCO0FBQzdCLGtEQUkyQjtBQVkzQiw4REFBb0U7QUFDcEUsMERBQXFFO0FBQ3JFLDJDQUFvRDtBQUNwRCwwREFBcUU7QUFDckUsd0VBQXFFO0FBQ3JFLGdFQUE2RDtBQUM3RCxzRkFBbUY7QUFDbkYsc0NBQWdEO0FBQ2hELHFGQUFrRjtBQUVsRixJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFWCxNQUFNLFNBQVM7SUFPYixZQUNFLEtBQXdCLEVBQ3hCLE9BQXlCLEVBQ3pCLFFBQTRCLEVBQzVCLFVBQTJCO1FBRTNCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBMkI7UUFDMUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQXdCO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsT0FBTyxDQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxLQUFLLE1BQUssU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSw4QkFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0NBQ0Y7QUFFRCxNQUFhLFdBQVc7SUFNdEIsWUFBWSxTQUE4QixFQUFFLFFBQWdCLEVBQUUsSUFBWTtRQUN4RSxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksd0JBQUssRUFBYSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBeUIsRUFBRSxVQUEyQixFQUFFLGFBQWlDO1FBQzlHLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDOUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRztZQUN4QixTQUFTLEVBQUUsdUNBQTBCO1lBQ3JDLEtBQUssRUFBRSxhQUFhO1NBQ3JCLENBQUM7UUFFRixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBRSxpQkFBaUIsQ0FBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFpRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3JFLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sbUNBQXNCLENBQUMsV0FBVyxDQUFDLElBQUksNEJBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRU8sS0FBSzs7UUFDWCxNQUFNLGVBQWUsR0FBMkIsRUFBRSxDQUFDO1FBQ25ELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25DLElBQUksOEJBQWEsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxNQUFNLFVBQVUsR0FBRyw4QkFBYSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRTtvQkFDL0QsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7aUJBQ3RCLENBQUMsQ0FBQztnQkFDSCxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNmLE1BQU0sVUFBVSxHQUFHLDhCQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQzNELEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQzt3QkFDM0MsTUFBTSxrQkFBa0IsR0FBRzs0QkFDekIsR0FBRyxVQUFVOzRCQUNiLEdBQUcsR0FBRyxDQUFDLFVBQVU7eUJBQ2xCLENBQUM7d0JBQ0YsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLDRCQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDL0csQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sVUFBVSxHQUFHLDhCQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNELE1BQU0sUUFBUSxHQUFHLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNiLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBUyxDQUFDLElBQUksU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUM7UUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ25DLElBQUksOEJBQWEsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlELE1BQU0sUUFBUSxHQUFHLDhCQUFhLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7b0JBQ3RFLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtvQkFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUN4QixDQUFDLENBQUM7Z0JBQ0gsS0FBSyxNQUFNLFVBQVUsSUFBSSxDQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxPQUFPLEtBQUksRUFBRSxFQUFFLENBQUM7b0JBQ2pELE1BQU0sYUFBYSxHQUFHLDhCQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDckUsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUUsQ0FBQzt3QkFDekMsTUFBTSxVQUFVLEdBQUc7NEJBQ2pCLEdBQUcsOEJBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDOzRCQUMxRSxHQUFHLE1BQUEsTUFBQSxVQUFVLENBQUMsZ0JBQWdCLDBDQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsbUNBQUksRUFBRTt5QkFDN0QsQ0FBQzt3QkFDRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQzVGLHFDQUFxQzt3QkFDckMsSUFBSSxVQUFVLEVBQUUsQ0FBQzs0QkFDZixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7d0JBQ3ZDLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sYUFBYSxHQUFHLDhCQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckUsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUUsQ0FBQztvQkFDekMsTUFBTSxVQUFVLEdBQUcsOEJBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDNUYscUNBQXFDO29CQUNyQyxJQUFJLFVBQVUsRUFBRSxDQUFDO3dCQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFDdkMsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLEdBQUcsUUFBUSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFxQixDQUFDO1FBQzlDLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3RDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQTVIRCxrQ0E0SEM7QUFFRCxNQUFhLGNBQWM7SUFVekIsWUFBWSxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxNQUFjO1FBUmxELGFBQVEsR0FBMEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQU0zRCxTQUFJLEdBQUcsNEJBQWUsQ0FBQyxNQUFNLENBQUM7UUFHckMsSUFBSSxDQUFDLEVBQUUsR0FBRyw4QkFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxFQUFFLENBQUM7WUFDOUIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDO29CQUN4QixTQUFTLEVBQUUsdUNBQTBCO29CQUNyQyxLQUFLLEVBQUUsOEJBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO3dCQUN0QyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7d0JBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtxQkFDdEIsQ0FBRTtpQkFDSixFQUFFO29CQUNELFNBQVMsRUFBRSwyQ0FBOEI7b0JBQ3pDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtpQkFDakIsQ0FBQyxDQUFDO1lBQ0gsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNuQyw4QkFBYSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxLQUFLLE1BQU0sS0FBSyxJQUFJLCtEQUE4QixDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDekUsTUFBTSxnQkFBZ0IsR0FBRyw4QkFBYSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRTtnQkFDckUsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNyQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEUsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPOztRQUNYLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxNQUFNLE1BQU0sR0FBRyw4QkFBYSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMzRSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLE1BQU0sQ0FBQSxNQUFBLFVBQVUsQ0FBQyxNQUFNLENBQUMsMERBQUksQ0FBQSxDQUFDO1lBQy9CLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sTUFBTSxHQUFHLE1BQU0sdURBQTBCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6RSxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUMzQix5Q0FBbUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzlELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW1COztRQUNsQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQUEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQywwQ0FBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsZUFBZSxDQUFDLElBQVksRUFBRSxVQUEyQjtRQUN2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxPQUFPLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFJLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBbUI7UUFDdEMsTUFBTSxTQUFTLEdBQUcsMEJBQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFtQjtRQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUNuRCxLQUFLLE1BQU0sS0FBSyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUMxQyx5Q0FBbUIsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM1RCxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixNQUFNLE1BQU0sR0FBbUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzlELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNmLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsT0FBTyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBNkI7UUFDL0MsTUFBTSxPQUFPLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN4RCw4REFBOEQ7UUFDOUQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLElBQUEscUJBQU0sRUFBQyxHQUFHLENBQUMsU0FBUyxFQUFFLHNDQUFzQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxjQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRjtBQTlIRCx3Q0E4SEM7QUFFRCxpQ0FBZSxDQUFDLHVCQUF1QixDQUFDLDRCQUFlLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQyJ9
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1wbC9Nb2R1bGVMb2FkVW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBaUM7QUFDakMsMERBQTZCO0FBQzdCLGtEQUsyQjtBQVMzQiw4REFBb0U7QUFDcEUsMERBQXFFO0FBQ3JFLHdFQUFxRTtBQUNyRSxnRUFBNkQ7QUFDN0Qsc0ZBQW1GO0FBQ25GLHNDQUFnRDtBQUNoRCwyQ0FBb0Q7QUFDcEQsMERBQXFFO0FBQ3JFLHdGQUFxRjtBQUNyRiw0REFBeUQ7QUFFekQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRVgsNkNBQTZDO0FBQzdDLE1BQU0sU0FBUztJQVFiLFlBQ0UsS0FBd0IsRUFDeEIsT0FBeUIsRUFDekIsUUFBNEIsRUFDNUIsVUFBMkI7UUFFM0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7UUFDcEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUEyQjtRQUMxQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBd0I7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxD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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EggProtoImplClass, ProtoDescriptor } from '@eggjs/tegg-types';
|
|
2
|
+
export interface ModuleDescriptor {
|
|
3
|
+
name: string;
|
|
4
|
+
unitPath: string;
|
|
5
|
+
optional?: boolean;
|
|
6
|
+
clazzList: EggProtoImplClass[];
|
|
7
|
+
multiInstanceClazzList: EggProtoImplClass[];
|
|
8
|
+
protos: ProtoDescriptor[];
|
|
9
|
+
}
|
|
10
|
+
export interface ModuleDumpOptions {
|
|
11
|
+
dumpDir?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class ModuleDescriptorDumper {
|
|
14
|
+
static stringifyDescriptor(moduleDescriptor: ModuleDescriptor): string;
|
|
15
|
+
static stringifyClazz(clazz: EggProtoImplClass, moduleDescriptor: ModuleDescriptor): string;
|
|
16
|
+
static dumpPath(desc: ModuleDescriptor, options?: ModuleDumpOptions): string;
|
|
17
|
+
static dump(desc: ModuleDescriptor, options?: ModuleDumpOptions): Promise<void>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ModuleDescriptorDumper = void 0;
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
9
|
+
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
10
|
+
const DUMP_PATH = process.env.MODULE_DUMP_PATH;
|
|
11
|
+
class ModuleDescriptorDumper {
|
|
12
|
+
static stringifyDescriptor(moduleDescriptor) {
|
|
13
|
+
return '{'
|
|
14
|
+
+ `"name": "${moduleDescriptor.name}",`
|
|
15
|
+
+ `"unitPath": "${moduleDescriptor.unitPath}",`
|
|
16
|
+
+ (typeof moduleDescriptor.optional !== 'undefined' ? `"optional": ${moduleDescriptor.optional},` : '')
|
|
17
|
+
+ `"clazzList": [${moduleDescriptor.clazzList.map(t => {
|
|
18
|
+
return ModuleDescriptorDumper.stringifyClazz(t, moduleDescriptor);
|
|
19
|
+
}).join(',')}],`
|
|
20
|
+
+ `"multiInstanceClazzList": [${moduleDescriptor.multiInstanceClazzList.map(t => {
|
|
21
|
+
return ModuleDescriptorDumper.stringifyClazz(t, moduleDescriptor);
|
|
22
|
+
}).join(',')}],`
|
|
23
|
+
+ `"protos": [${moduleDescriptor.protos.map(t => {
|
|
24
|
+
return JSON.stringify(t);
|
|
25
|
+
}).join(',')}]`
|
|
26
|
+
+ '}';
|
|
27
|
+
}
|
|
28
|
+
static stringifyClazz(clazz, moduleDescriptor) {
|
|
29
|
+
return '{'
|
|
30
|
+
+ `"name": "${clazz.name}",`
|
|
31
|
+
+ (core_decorator_1.PrototypeUtil.getFilePath(clazz) ? `"filePath": "${node_path_1.default.relative(moduleDescriptor.unitPath, core_decorator_1.PrototypeUtil.getFilePath(clazz))}"` : '')
|
|
32
|
+
+ '}';
|
|
33
|
+
}
|
|
34
|
+
static dumpPath(desc, options) {
|
|
35
|
+
var _a;
|
|
36
|
+
const dumpDir = (_a = DUMP_PATH !== null && DUMP_PATH !== void 0 ? DUMP_PATH : options === null || options === void 0 ? void 0 : options.dumpDir) !== null && _a !== void 0 ? _a : desc.unitPath;
|
|
37
|
+
return node_path_1.default.join(dumpDir, '.egg', `${desc.name}_module_desc.json`);
|
|
38
|
+
}
|
|
39
|
+
static async dump(desc, options) {
|
|
40
|
+
const dumpPath = ModuleDescriptorDumper.dumpPath(desc, options);
|
|
41
|
+
await promises_1.default.mkdir(node_path_1.default.dirname(dumpPath), { recursive: true });
|
|
42
|
+
await promises_1.default.writeFile(dumpPath, ModuleDescriptorDumper.stringifyDescriptor(desc));
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ModuleDescriptorDumper = ModuleDescriptorDumper;
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlRGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9Nb2R1bGVEZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixnRUFBa0M7QUFFbEMsMERBQXNEO0FBRXRELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7QUFlL0MsTUFBYSxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFrQztRQUMzRCxPQUFPLEdBQUc7Y0FDTixZQUFZLGdCQUFnQixDQUFDLElBQUksSUFBSTtjQUNyQyxnQkFBZ0IsZ0JBQWdCLENBQUMsUUFBUSxJQUFJO2NBQzdDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxlQUFlLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Y0FDckcsaUJBQWlCLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLDhCQUE4QixnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlFLE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLGNBQWMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztjQUNiLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXdCLEVBQUUsZ0JBQWtDO1FBQ2hGLE9BQU8sR0FBRztjQUNOLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSTtjQUMxQixDQUFDLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsbUJBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2NBQ3hJLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQXNCLEVBQUUsT0FBMkI7O1FBQ2pFLE1BQU0sT0FBTyxHQUFHLE1BQUEsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sbUNBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFzQixFQUFFLE9BQTJCO1FBQ25FLE1BQU0sUUFBUSxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxrQkFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sa0JBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGO0FBbkNELHdEQW1DQyJ9
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AccessLevel, InjectObjectDescriptor, ObjectInitTypeLike, ProtoDescriptor, ProtoDescriptorTypeLike, QualifierInfo } from '@eggjs/tegg-types';
|
|
2
|
+
export interface AbstractProtoDescriptorOptions {
|
|
3
|
+
name: PropertyKey;
|
|
4
|
+
accessLevel: AccessLevel;
|
|
5
|
+
initType: ObjectInitTypeLike;
|
|
6
|
+
qualifiers: QualifierInfo[];
|
|
7
|
+
protoImplType: string;
|
|
8
|
+
injectObjects: InjectObjectDescriptor[];
|
|
9
|
+
defineModuleName: string;
|
|
10
|
+
defineUnitPath: string;
|
|
11
|
+
instanceModuleName: string;
|
|
12
|
+
instanceDefineUnitPath: string;
|
|
13
|
+
type: ProtoDescriptorTypeLike;
|
|
14
|
+
properQualifiers: Record<PropertyKey, QualifierInfo[]>;
|
|
15
|
+
}
|
|
16
|
+
export declare abstract class AbstractProtoDescriptor implements ProtoDescriptor {
|
|
17
|
+
name: PropertyKey;
|
|
18
|
+
accessLevel: AccessLevel;
|
|
19
|
+
initType: ObjectInitTypeLike;
|
|
20
|
+
qualifiers: QualifierInfo[];
|
|
21
|
+
injectObjects: InjectObjectDescriptor[];
|
|
22
|
+
protoImplType: string;
|
|
23
|
+
defineModuleName: string;
|
|
24
|
+
defineUnitPath: string;
|
|
25
|
+
instanceModuleName: string;
|
|
26
|
+
instanceDefineUnitPath: string;
|
|
27
|
+
className?: string;
|
|
28
|
+
properQualifiers: Record<PropertyKey, QualifierInfo[]>;
|
|
29
|
+
type: ProtoDescriptorTypeLike;
|
|
30
|
+
protected constructor(options: AbstractProtoDescriptorOptions);
|
|
31
|
+
abstract equal(protoDescriptor: ProtoDescriptor): boolean;
|
|
32
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractProtoDescriptor = void 0;
|
|
4
|
+
class AbstractProtoDescriptor {
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.name = options.name;
|
|
7
|
+
this.accessLevel = options.accessLevel;
|
|
8
|
+
this.initType = options.initType;
|
|
9
|
+
this.qualifiers = options.qualifiers;
|
|
10
|
+
this.protoImplType = options.protoImplType;
|
|
11
|
+
this.injectObjects = options.injectObjects;
|
|
12
|
+
this.defineModuleName = options.defineModuleName;
|
|
13
|
+
this.defineUnitPath = options.defineUnitPath;
|
|
14
|
+
this.instanceModuleName = options.instanceModuleName;
|
|
15
|
+
this.instanceDefineUnitPath = options.instanceDefineUnitPath;
|
|
16
|
+
this.type = options.type;
|
|
17
|
+
this.properQualifiers = options.properQualifiers;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.AbstractProtoDescriptor = AbstractProtoDescriptor;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQcm90b0Rlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvUHJvdG9EZXNjcmlwdG9yL0Fic3RyYWN0UHJvdG9EZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSxNQUFzQix1QkFBdUI7SUFlM0MsWUFBc0IsT0FBdUM7UUFDM0QsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ25ELENBQUM7Q0FHRjtBQS9CRCwwREErQkMifQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractProtoDescriptor, AbstractProtoDescriptorOptions } from './AbstractProtoDescriptor';
|
|
2
|
+
import { EggProtoImplClass, ProtoDescriptor } from '@eggjs/tegg-types';
|
|
3
|
+
export interface ClassProtoDescriptorOptions extends Omit<AbstractProtoDescriptorOptions, 'type'> {
|
|
4
|
+
clazz: EggProtoImplClass;
|
|
5
|
+
}
|
|
6
|
+
export declare class ClassProtoDescriptor extends AbstractProtoDescriptor {
|
|
7
|
+
clazz: EggProtoImplClass;
|
|
8
|
+
clazzName: string;
|
|
9
|
+
static isClassProtoDescriptor(descriptor: ProtoDescriptor): descriptor is ClassProtoDescriptor;
|
|
10
|
+
constructor(options: ClassProtoDescriptorOptions);
|
|
11
|
+
equal(protoDescriptor: ProtoDescriptor): boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClassProtoDescriptor = void 0;
|
|
4
|
+
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
5
|
+
const AbstractProtoDescriptor_1 = require("./AbstractProtoDescriptor");
|
|
6
|
+
const ProtoDescriptorType_1 = require("@eggjs/tegg-types/metadata/enum/ProtoDescriptorType");
|
|
7
|
+
class ClassProtoDescriptor extends AbstractProtoDescriptor_1.AbstractProtoDescriptor {
|
|
8
|
+
static isClassProtoDescriptor(descriptor) {
|
|
9
|
+
return descriptor.type === ProtoDescriptorType_1.ProtoDescriptorType.CLASS;
|
|
10
|
+
}
|
|
11
|
+
constructor(options) {
|
|
12
|
+
super({
|
|
13
|
+
type: ProtoDescriptorType_1.ProtoDescriptorType.CLASS,
|
|
14
|
+
...options,
|
|
15
|
+
});
|
|
16
|
+
this.clazz = options.clazz;
|
|
17
|
+
this.className = this.clazz.name;
|
|
18
|
+
}
|
|
19
|
+
equal(protoDescriptor) {
|
|
20
|
+
if (!ClassProtoDescriptor.isClassProtoDescriptor(protoDescriptor)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return this.clazz === protoDescriptor.clazz
|
|
24
|
+
&& this.name === protoDescriptor.name
|
|
25
|
+
&& this.accessLevel === protoDescriptor.accessLevel
|
|
26
|
+
&& this.initType === protoDescriptor.initType
|
|
27
|
+
&& this.instanceModuleName === protoDescriptor.instanceModuleName
|
|
28
|
+
&& core_decorator_1.QualifierUtil.equalQualifiers(this.qualifiers, protoDescriptor.qualifiers);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.ClassProtoDescriptor = ClassProtoDescriptor;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3NQcm90b0Rlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvUHJvdG9EZXNjcmlwdG9yL0NsYXNzUHJvdG9EZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUFzRDtBQUN0RCx1RUFBb0c7QUFFcEcsNkZBQTBGO0FBTTFGLE1BQWEsb0JBQXFCLFNBQVEsaURBQXVCO0lBSS9ELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxVQUEyQjtRQUN2RCxPQUFRLFVBQXNDLENBQUMsSUFBSSxLQUFLLHlDQUFtQixDQUFDLEtBQUssQ0FBQztJQUNwRixDQUFDO0lBRUQsWUFBWSxPQUFvQztRQUM5QyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUseUNBQW1CLENBQUMsS0FBSztZQUMvQixHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWdDO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsS0FBSztlQUN0QyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxJQUFJO2VBQ2xDLElBQUksQ0FBQyxXQUFXLEtBQUssZUFBZSxDQUFDLFdBQVc7ZUFDaEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxlQUFlLENBQUMsUUFBUTtlQUMxQyxJQUFJLENBQUMsa0JBQWtCLEtBQUssZUFBZSxDQUFDLGtCQUFrQjtlQUM5RCw4QkFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0Y7QUE1QkQsb0RBNEJDIn0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EggProtoImplClass, ObjectInitTypeLike, ProtoDescriptor, QualifierInfo, MultiInstancePrototypeGetObjectsContext } from '@eggjs/tegg-types';
|
|
2
|
+
import { ProtoSelectorContext } from './graph/ProtoSelector';
|
|
3
|
+
export declare class ProtoDescriptorHelper {
|
|
4
|
+
#private;
|
|
5
|
+
static addDefaultQualifier(qualifiers: QualifierInfo[], initType: ObjectInitTypeLike, loadUnitName: string): QualifierInfo[];
|
|
6
|
+
static createByMultiInstanceClazz(clazz: EggProtoImplClass, options: {
|
|
7
|
+
defineModuleName: string;
|
|
8
|
+
defineUnitPath: string;
|
|
9
|
+
instanceModuleName: string;
|
|
10
|
+
instanceDefineUnitPath: string;
|
|
11
|
+
}): ProtoDescriptor[];
|
|
12
|
+
static createByDynamicMultiInstanceClazz(clazz: EggProtoImplClass, options: {
|
|
13
|
+
defineModuleName: string;
|
|
14
|
+
defineUnitPath: string;
|
|
15
|
+
instanceModuleName: string;
|
|
16
|
+
instanceDefineUnitPath: string;
|
|
17
|
+
}): ProtoDescriptor[];
|
|
18
|
+
static createByStaticMultiInstanceClazz(clazz: EggProtoImplClass, options: {
|
|
19
|
+
defineModuleName: string;
|
|
20
|
+
defineUnitPath: string;
|
|
21
|
+
instanceModuleName: string;
|
|
22
|
+
instanceDefineUnitPath: string;
|
|
23
|
+
}): ProtoDescriptor[];
|
|
24
|
+
static createByInstanceClazz(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): ProtoDescriptor;
|
|
25
|
+
static selectProto(proto: ProtoDescriptor, ctx: ProtoSelectorContext): boolean;
|
|
26
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
var _a, _ProtoDescriptorHelper_createByMultiInstanceClazz;
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ProtoDescriptorHelper = void 0;
|
|
13
|
+
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
14
|
+
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
15
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
16
|
+
const ClassProtoDescriptor_1 = require("./ProtoDescriptor/ClassProtoDescriptor");
|
|
17
|
+
class ProtoDescriptorHelper {
|
|
18
|
+
static addDefaultQualifier(qualifiers, initType, loadUnitName) {
|
|
19
|
+
const defaultQualifiers = [{
|
|
20
|
+
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
21
|
+
value: initType,
|
|
22
|
+
}, {
|
|
23
|
+
attribute: tegg_types_1.LoadUnitNameQualifierAttribute,
|
|
24
|
+
value: loadUnitName,
|
|
25
|
+
}];
|
|
26
|
+
const res = [
|
|
27
|
+
...qualifiers,
|
|
28
|
+
];
|
|
29
|
+
for (const defaultQualifier of defaultQualifiers) {
|
|
30
|
+
if (!qualifiers.find(t => t.attribute === defaultQualifier.attribute)) {
|
|
31
|
+
res.push(defaultQualifier);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return res;
|
|
35
|
+
}
|
|
36
|
+
static createByMultiInstanceClazz(clazz, options) {
|
|
37
|
+
(0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
|
|
38
|
+
const type = core_decorator_1.PrototypeUtil.getEggMultiInstancePrototypeType(clazz);
|
|
39
|
+
if (type === tegg_types_1.MultiInstanceType.DYNAMIC) {
|
|
40
|
+
return _a.createByDynamicMultiInstanceClazz(clazz, options);
|
|
41
|
+
}
|
|
42
|
+
else if (type === tegg_types_1.MultiInstanceType.STATIC) {
|
|
43
|
+
// static multi instance proto create only in self module
|
|
44
|
+
if (options.defineModuleName === options.instanceModuleName) {
|
|
45
|
+
return _a.createByStaticMultiInstanceClazz(clazz, options);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
static createByDynamicMultiInstanceClazz(clazz, options) {
|
|
51
|
+
(0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
|
|
52
|
+
const instanceProperty = core_decorator_1.PrototypeUtil.getDynamicMultiInstanceProperty(clazz, {
|
|
53
|
+
moduleName: options.instanceModuleName,
|
|
54
|
+
unitPath: options.instanceDefineUnitPath,
|
|
55
|
+
});
|
|
56
|
+
(0, node_assert_1.default)(instanceProperty, `not found PrototypeInfo for clazz ${clazz.name}`);
|
|
57
|
+
return __classPrivateFieldGet(_a, _a, "m", _ProtoDescriptorHelper_createByMultiInstanceClazz).call(_a, clazz, instanceProperty, options);
|
|
58
|
+
}
|
|
59
|
+
static createByStaticMultiInstanceClazz(clazz, options) {
|
|
60
|
+
(0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
|
|
61
|
+
const instanceProperty = core_decorator_1.PrototypeUtil.getStaticMultiInstanceProperty(clazz);
|
|
62
|
+
(0, node_assert_1.default)(instanceProperty, `not found PrototypeInfo for clazz ${clazz.name}`);
|
|
63
|
+
return __classPrivateFieldGet(_a, _a, "m", _ProtoDescriptorHelper_createByMultiInstanceClazz).call(_a, clazz, instanceProperty, options);
|
|
64
|
+
}
|
|
65
|
+
static createByInstanceClazz(clazz, ctx) {
|
|
66
|
+
(0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggPrototype(clazz), `clazz ${clazz.name} is not EggPrototype`);
|
|
67
|
+
(0, node_assert_1.default)(!core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not Prototype`);
|
|
68
|
+
const property = core_decorator_1.PrototypeUtil.getProperty(clazz);
|
|
69
|
+
(0, node_assert_1.default)(property, `not found PrototypeInfo for clazz ${clazz.name}`);
|
|
70
|
+
const protoQualifiers = _a.addDefaultQualifier(core_decorator_1.QualifierUtil.getProtoQualifiers(clazz), property.initType, ctx.moduleName);
|
|
71
|
+
const injectObjects = core_decorator_1.PrototypeUtil.getInjectObjects(clazz)
|
|
72
|
+
.map(t => {
|
|
73
|
+
const qualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(clazz, t.refName);
|
|
74
|
+
return {
|
|
75
|
+
...t,
|
|
76
|
+
qualifiers,
|
|
77
|
+
};
|
|
78
|
+
});
|
|
79
|
+
return new ClassProtoDescriptor_1.ClassProtoDescriptor({
|
|
80
|
+
name: property.name,
|
|
81
|
+
protoImplType: property.protoImplType,
|
|
82
|
+
accessLevel: property.accessLevel,
|
|
83
|
+
initType: property.initType,
|
|
84
|
+
qualifiers: protoQualifiers,
|
|
85
|
+
injectObjects,
|
|
86
|
+
instanceDefineUnitPath: ctx.unitPath,
|
|
87
|
+
instanceModuleName: ctx.moduleName,
|
|
88
|
+
defineUnitPath: ctx.unitPath,
|
|
89
|
+
defineModuleName: ctx.moduleName,
|
|
90
|
+
clazz,
|
|
91
|
+
properQualifiers: {},
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
static selectProto(proto, ctx) {
|
|
95
|
+
// 1. name match
|
|
96
|
+
if (proto.name !== ctx.name) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
// 2. access level match
|
|
100
|
+
if (proto.accessLevel !== tegg_types_1.AccessLevel.PUBLIC && proto.instanceModuleName !== ctx.moduleName) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
// 3. qualifier match
|
|
104
|
+
if (!core_decorator_1.QualifierUtil.matchQualifiers(proto.qualifiers, ctx.qualifiers)) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.ProtoDescriptorHelper = ProtoDescriptorHelper;
|
|
111
|
+
_a = ProtoDescriptorHelper, _ProtoDescriptorHelper_createByMultiInstanceClazz = function _ProtoDescriptorHelper_createByMultiInstanceClazz(clazz, instanceProperty, options) {
|
|
112
|
+
const res = [];
|
|
113
|
+
for (const obj of instanceProperty.objects) {
|
|
114
|
+
let qualifiers = [
|
|
115
|
+
...core_decorator_1.QualifierUtil.getProtoQualifiers(clazz),
|
|
116
|
+
...obj.qualifiers,
|
|
117
|
+
];
|
|
118
|
+
qualifiers = _a.addDefaultQualifier(qualifiers, instanceProperty.initType, options.instanceModuleName);
|
|
119
|
+
const injectObjects = core_decorator_1.PrototypeUtil.getInjectObjects(clazz)
|
|
120
|
+
.map(t => {
|
|
121
|
+
var _b, _c;
|
|
122
|
+
const qualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(clazz, t.refName);
|
|
123
|
+
const instanceQualifier = (_c = (_b = obj.properQualifiers) === null || _b === void 0 ? void 0 : _b[t.refName]) !== null && _c !== void 0 ? _c : [];
|
|
124
|
+
return {
|
|
125
|
+
...t,
|
|
126
|
+
qualifiers: [
|
|
127
|
+
...qualifiers,
|
|
128
|
+
...instanceQualifier,
|
|
129
|
+
],
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
res.push(new ClassProtoDescriptor_1.ClassProtoDescriptor({
|
|
133
|
+
name: obj.name,
|
|
134
|
+
accessLevel: instanceProperty.accessLevel,
|
|
135
|
+
initType: instanceProperty.initType,
|
|
136
|
+
protoImplType: instanceProperty.protoImplType,
|
|
137
|
+
qualifiers,
|
|
138
|
+
injectObjects,
|
|
139
|
+
instanceModuleName: options.instanceModuleName,
|
|
140
|
+
instanceDefineUnitPath: options.instanceDefineUnitPath,
|
|
141
|
+
defineModuleName: options.defineModuleName,
|
|
142
|
+
defineUnitPath: options.defineUnitPath,
|
|
143
|
+
clazz,
|
|
144
|
+
properQualifiers: obj.properQualifiers || {},
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
return res;
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9EZXNjcmlwdG9ySGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL1Byb3RvRGVzY3JpcHRvckhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwwREFJK0I7QUFDL0Isa0RBVTJCO0FBQzNCLDhEQUFpQztBQUVqQyxpRkFBOEU7QUFFOUUsTUFBYSxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQTJCLEVBQUUsUUFBNEIsRUFBRSxZQUFvQjtRQUN4RyxNQUFNLGlCQUFpQixHQUFHLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSx1Q0FBMEI7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRO2FBQ2hCLEVBQUU7Z0JBQ0QsU0FBUyxFQUFFLDJDQUE4QjtnQkFDekMsS0FBSyxFQUFFLFlBQVk7YUFDcEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUc7WUFDVixHQUFHLFVBQVU7U0FDZCxDQUFDO1FBQ0YsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxLQUF3QixFQUFFLE9BSzNEO1FBQ0MsSUFBQSxxQkFBTSxFQUFDLDhCQUFhLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxLQUFLLENBQUMsSUFBSSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQzlHLE1BQU0sSUFBSSxHQUFHLDhCQUFhLENBQUMsZ0NBQWdDLENB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
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ModuleReference } from '@eggjs/tegg-common-util';
|
|
2
|
+
import { InjectObjectDescriptor, ProtoDescriptor } from '@eggjs/tegg-types';
|
|
3
|
+
import { GlobalModuleNode } from './GlobalModuleNode';
|
|
4
|
+
import { ModuleDescriptor } from '../ModuleDescriptor';
|
|
5
|
+
export interface GlobalGraphOptions {
|
|
6
|
+
strict?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Sort all prototypes and modules in app.
|
|
10
|
+
* - 1. LoaderFactory.loadApp: get ModuleDescriptors
|
|
11
|
+
* - 2. GlobalGraph.create: create global graph instance
|
|
12
|
+
* - 3. graph.build:
|
|
13
|
+
* - check duplicated prototypes exits
|
|
14
|
+
* - check inject object exists (only in strict mode,
|
|
15
|
+
* can register proto in hooks now, in next major version,
|
|
16
|
+
* should use load to create dynamic ProtoDescriptor and delete
|
|
17
|
+
* strict false options
|
|
18
|
+
* )
|
|
19
|
+
* - 4. graph.sort: build moduleConfigList and moduleProtoDescriptorMap
|
|
20
|
+
*/
|
|
21
|
+
export declare class GlobalGraph {
|
|
22
|
+
#private;
|
|
23
|
+
/**
|
|
24
|
+
* Vertex: ModuleNode, collect prototypes in module
|
|
25
|
+
* Edge: ModuleDependencyMeta, prototype and it's inject object
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
private moduleGraph;
|
|
29
|
+
/**
|
|
30
|
+
* Vertex: ProtoNode, collect all prototypes in app
|
|
31
|
+
* Edge: ProtoDependencyMeta, inject object
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
private protoGraph;
|
|
35
|
+
/**
|
|
36
|
+
* The order of the moduleConfigList is the order in which they are instantiated
|
|
37
|
+
*/
|
|
38
|
+
moduleConfigList: readonly ModuleReference[];
|
|
39
|
+
/**
|
|
40
|
+
* key: module name
|
|
41
|
+
* value: ProtoDescriptor in module, the order is the order in which they are instantiated
|
|
42
|
+
*/
|
|
43
|
+
moduleProtoDescriptorMap: Map<string, ProtoDescriptor[]>;
|
|
44
|
+
strict: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* The global instance used in ModuleLoadUnit
|
|
47
|
+
*/
|
|
48
|
+
static instance?: GlobalGraph;
|
|
49
|
+
constructor(options?: GlobalGraphOptions);
|
|
50
|
+
addModuleNode(moduleNode: GlobalModuleNode): void;
|
|
51
|
+
build(): void;
|
|
52
|
+
findInjectProto(proto: ProtoDescriptor, injectObject: InjectObjectDescriptor): ProtoDescriptor | undefined;
|
|
53
|
+
sort(): void;
|
|
54
|
+
static create(moduleDescriptors: ModuleDescriptor[], options?: GlobalGraphOptions): GlobalGraph;
|
|
55
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var _GlobalGraph_instances, _GlobalGraph_findDependencyProtoWithDefaultQualifiers, _GlobalGraph_findDependencyProtoNode, _GlobalGraph_findModuleNode, _GlobalGraph_sortModule, _GlobalGraph_sortClazz;
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.GlobalGraph = void 0;
|
|
10
|
+
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
11
|
+
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
12
|
+
const GlobalModuleNode_1 = require("./GlobalModuleNode");
|
|
13
|
+
const ProtoNode_1 = require("./ProtoNode");
|
|
14
|
+
const egg_errors_1 = require("egg-errors");
|
|
15
|
+
const errors_1 = require("../../errors");
|
|
16
|
+
const GlobalModuleNodeBuilder_1 = require("./GlobalModuleNodeBuilder");
|
|
17
|
+
/**
|
|
18
|
+
* Sort all prototypes and modules in app.
|
|
19
|
+
* - 1. LoaderFactory.loadApp: get ModuleDescriptors
|
|
20
|
+
* - 2. GlobalGraph.create: create global graph instance
|
|
21
|
+
* - 3. graph.build:
|
|
22
|
+
* - check duplicated prototypes exits
|
|
23
|
+
* - check inject object exists (only in strict mode,
|
|
24
|
+
* can register proto in hooks now, in next major version,
|
|
25
|
+
* should use load to create dynamic ProtoDescriptor and delete
|
|
26
|
+
* strict false options
|
|
27
|
+
* )
|
|
28
|
+
* - 4. graph.sort: build moduleConfigList and moduleProtoDescriptorMap
|
|
29
|
+
*/
|
|
30
|
+
class GlobalGraph {
|
|
31
|
+
constructor(options) {
|
|
32
|
+
var _a;
|
|
33
|
+
_GlobalGraph_instances.add(this);
|
|
34
|
+
this.moduleGraph = new tegg_common_util_1.Graph();
|
|
35
|
+
this.protoGraph = new tegg_common_util_1.Graph();
|
|
36
|
+
this.strict = (_a = options === null || options === void 0 ? void 0 : options.strict) !== null && _a !== void 0 ? _a : false;
|
|
37
|
+
this.moduleProtoDescriptorMap = new Map();
|
|
38
|
+
}
|
|
39
|
+
addModuleNode(moduleNode) {
|
|
40
|
+
if (!this.moduleGraph.addVertex(new tegg_common_util_1.GraphNode(moduleNode))) {
|
|
41
|
+
throw new Error(`duplicate module: ${moduleNode}`);
|
|
42
|
+
}
|
|
43
|
+
for (const protoNode of moduleNode.protos) {
|
|
44
|
+
if (!this.protoGraph.addVertex(protoNode)) {
|
|
45
|
+
throw new Error(`duplicate proto: ${protoNode.val}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
build() {
|
|
50
|
+
for (const moduleNode of this.moduleGraph.nodes.values()) {
|
|
51
|
+
for (const protoNode of moduleNode.val.protos) {
|
|
52
|
+
for (const injectObj of protoNode.val.proto.injectObjects) {
|
|
53
|
+
const injectProto = __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findDependencyProtoNode).call(this, protoNode.val.proto, injectObj);
|
|
54
|
+
if (!injectProto) {
|
|
55
|
+
if (!this.strict) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
throw egg_errors_1.FrameworkErrorFormater.formatError(new errors_1.EggPrototypeNotFound(injectObj.objName, protoNode.val.proto.instanceModuleName));
|
|
59
|
+
}
|
|
60
|
+
this.protoGraph.addEdge(protoNode, injectProto, new ProtoNode_1.ProtoDependencyMeta({
|
|
61
|
+
injectObj: injectObj.objName,
|
|
62
|
+
}));
|
|
63
|
+
const injectModule = __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findModuleNode).call(this, injectProto.val.proto.instanceModuleName);
|
|
64
|
+
if (!injectModule) {
|
|
65
|
+
if (!this.strict) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`not found module ${injectProto.val.proto.instanceModuleName}`);
|
|
69
|
+
}
|
|
70
|
+
if (moduleNode.val.id !== injectModule.val.id) {
|
|
71
|
+
this.moduleGraph.addEdge(moduleNode, injectModule, new GlobalModuleNode_1.ModuleDependencyMeta(protoNode.val.proto, injectObj.objName));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
findInjectProto(proto, injectObject) {
|
|
78
|
+
const edge = this.protoGraph.findToNode(ProtoNode_1.ProtoNode.createProtoId(proto), new ProtoNode_1.ProtoDependencyMeta({
|
|
79
|
+
injectObj: injectObject.objName,
|
|
80
|
+
}));
|
|
81
|
+
return edge === null || edge === void 0 ? void 0 : edge.val.proto;
|
|
82
|
+
}
|
|
83
|
+
sort() {
|
|
84
|
+
__classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_sortModule).call(this);
|
|
85
|
+
__classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_sortClazz).call(this);
|
|
86
|
+
}
|
|
87
|
+
static create(moduleDescriptors, options) {
|
|
88
|
+
var _a;
|
|
89
|
+
const graph = new GlobalGraph(options);
|
|
90
|
+
for (const moduleDescriptor of moduleDescriptors) {
|
|
91
|
+
const moduleNodeBuilder = new GlobalModuleNodeBuilder_1.GlobalModuleNodeBuilder({
|
|
92
|
+
name: moduleDescriptor.name,
|
|
93
|
+
unitPath: moduleDescriptor.unitPath,
|
|
94
|
+
optional: (_a = moduleDescriptor.optional) !== null && _a !== void 0 ? _a : false,
|
|
95
|
+
});
|
|
96
|
+
for (const clazz of moduleDescriptor.clazzList) {
|
|
97
|
+
moduleNodeBuilder.addClazz(clazz);
|
|
98
|
+
}
|
|
99
|
+
for (const clazz of moduleDescriptor.multiInstanceClazzList) {
|
|
100
|
+
moduleNodeBuilder.addMultiInstanceClazz(clazz, moduleDescriptor.name, moduleDescriptor.unitPath);
|
|
101
|
+
}
|
|
102
|
+
graph.addModuleNode(moduleNodeBuilder.build());
|
|
103
|
+
}
|
|
104
|
+
return graph;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
exports.GlobalGraph = GlobalGraph;
|
|
108
|
+
_GlobalGraph_instances = new WeakSet(), _GlobalGraph_findDependencyProtoWithDefaultQualifiers = function _GlobalGraph_findDependencyProtoWithDefaultQualifiers(proto, injectObject, qualifiers) {
|
|
109
|
+
// TODO perf O(n(proto count)*m(inject count)*n)
|
|
110
|
+
const result = [];
|
|
111
|
+
for (const node of this.protoGraph.nodes.values()) {
|
|
112
|
+
if (node.val.selectProto({
|
|
113
|
+
name: injectObject.objName,
|
|
114
|
+
qualifiers: [
|
|
115
|
+
...injectObject.qualifiers,
|
|
116
|
+
...qualifiers,
|
|
117
|
+
],
|
|
118
|
+
moduleName: proto.instanceModuleName,
|
|
119
|
+
})) {
|
|
120
|
+
result.push(node);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return result;
|
|
124
|
+
}, _GlobalGraph_findDependencyProtoNode = function _GlobalGraph_findDependencyProtoNode(proto, injectObject) {
|
|
125
|
+
// 1. find proto with request
|
|
126
|
+
// 2. try to add Context qualifier to find
|
|
127
|
+
// 3. try to add self init type qualifier to find
|
|
128
|
+
const protos = __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findDependencyProtoWithDefaultQualifiers).call(this, proto, injectObject, []);
|
|
129
|
+
if (protos.length === 0) {
|
|
130
|
+
return;
|
|
131
|
+
// throw FrameworkErrorFormater.formatError(new EggPrototypeNotFound(injectObject.objName, proto.instanceModuleName));
|
|
132
|
+
}
|
|
133
|
+
if (protos.length === 1) {
|
|
134
|
+
return protos[0];
|
|
135
|
+
}
|
|
136
|
+
const protoWithContext = __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findDependencyProtoWithDefaultQualifiers).call(this, proto, injectObject, [{
|
|
137
|
+
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
138
|
+
value: tegg_types_1.ObjectInitType.CONTEXT,
|
|
139
|
+
}]);
|
|
140
|
+
if (protoWithContext.length === 1) {
|
|
141
|
+
return protoWithContext[0];
|
|
142
|
+
}
|
|
143
|
+
const protoWithSelfInitType = __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findDependencyProtoWithDefaultQualifiers).call(this, proto, injectObject, [{
|
|
144
|
+
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
145
|
+
value: proto.initType,
|
|
146
|
+
}]);
|
|
147
|
+
if (protoWithSelfInitType.length === 1) {
|
|
148
|
+
return protoWithSelfInitType[0];
|
|
149
|
+
}
|
|
150
|
+
const loadUnitQualifier = injectObject.qualifiers.find(t => t.attribute === tegg_types_1.LoadUnitNameQualifierAttribute);
|
|
151
|
+
if (!loadUnitQualifier) {
|
|
152
|
+
return __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findDependencyProtoNode).call(this, proto, {
|
|
153
|
+
...injectObject,
|
|
154
|
+
qualifiers: [
|
|
155
|
+
...injectObject.qualifiers,
|
|
156
|
+
{
|
|
157
|
+
attribute: tegg_types_1.LoadUnitNameQualifierAttribute,
|
|
158
|
+
value: proto.instanceModuleName,
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
throw egg_errors_1.FrameworkErrorFormater.formatError(new errors_1.MultiPrototypeFound(injectObject.objName, injectObject.qualifiers));
|
|
164
|
+
}, _GlobalGraph_findModuleNode = function _GlobalGraph_findModuleNode(moduleName) {
|
|
165
|
+
for (const node of this.moduleGraph.nodes.values()) {
|
|
166
|
+
if (node.val.name === moduleName) {
|
|
167
|
+
return node;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}, _GlobalGraph_sortModule = function _GlobalGraph_sortModule() {
|
|
171
|
+
const loopPath = this.moduleGraph.loopPath();
|
|
172
|
+
if (loopPath) {
|
|
173
|
+
throw new Error('module has recursive deps: ' + loopPath);
|
|
174
|
+
}
|
|
175
|
+
this.moduleConfigList = this.moduleGraph.sort()
|
|
176
|
+
.filter(t => {
|
|
177
|
+
return t.val.optional !== true || t.fromNodeMap.size > 0;
|
|
178
|
+
})
|
|
179
|
+
.map(t => {
|
|
180
|
+
return {
|
|
181
|
+
name: t.val.name,
|
|
182
|
+
path: t.val.unitPath,
|
|
183
|
+
optional: t.val.optional,
|
|
184
|
+
};
|
|
185
|
+
});
|
|
186
|
+
}, _GlobalGraph_sortClazz = function _GlobalGraph_sortClazz() {
|
|
187
|
+
const loopPath = this.protoGraph.loopPath();
|
|
188
|
+
if (loopPath) {
|
|
189
|
+
throw new Error('proto has recursive deps: ' + loopPath);
|
|
190
|
+
}
|
|
191
|
+
for (const proto of this.protoGraph.sort()) {
|
|
192
|
+
// // ignore the proto has no dependent
|
|
193
|
+
// if (proto.fromNodeMap.size === 0) continue;
|
|
194
|
+
const instanceModuleName = proto.val.proto.instanceModuleName;
|
|
195
|
+
let moduleProtoList = this.moduleProtoDescriptorMap.get(instanceModuleName);
|
|
196
|
+
if (!moduleProtoList) {
|
|
197
|
+
moduleProtoList = [];
|
|
198
|
+
this.moduleProtoDescriptorMap.set(instanceModuleName, moduleProtoList);
|
|
199
|
+
}
|
|
200
|
+
moduleProtoList.push(proto.val.proto);
|
|
201
|
+
}
|
|
202
|
+
};
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsOERBQTRFO0FBQzVFLGtEQU0yQjtBQUMzQix5REFBNEU7QUFDNUUsMkNBQTZEO0FBQzdELDJDQUFvRDtBQUNwRCx5Q0FBeUU7QUFDekUsdUVBQW9FO0FBU3BFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQWEsV0FBVztJQTZCdEIsWUFBWSxPQUE0Qjs7O1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx3QkFBSyxFQUEwQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx3QkFBSyxFQUFrQyxDQUFDO1FBQzlELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxtQ0FBSSxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUE0QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSw0QkFBUyxDQUF5QyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkcsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFD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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { GraphNode, GraphNodeObj, EdgeMeta } from '@eggjs/tegg-common-util';
|
|
2
|
+
import { ProtoDependencyMeta, ProtoNode } from './ProtoNode';
|
|
3
|
+
import { ProtoDescriptor } from '@eggjs/tegg-types';
|
|
4
|
+
export interface GlobalModuleNodeOptions {
|
|
5
|
+
name: string;
|
|
6
|
+
unitPath: string;
|
|
7
|
+
optional: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class ModuleDependencyMeta implements EdgeMeta {
|
|
10
|
+
readonly obj: ProtoDescriptor;
|
|
11
|
+
readonly injectObj: PropertyKey;
|
|
12
|
+
constructor(obj: ProtoDescriptor, injectObj: PropertyKey);
|
|
13
|
+
equal(meta: ModuleDependencyMeta): boolean;
|
|
14
|
+
toString(): string;
|
|
15
|
+
}
|
|
16
|
+
export declare class GlobalModuleNode implements GraphNodeObj {
|
|
17
|
+
readonly id: string;
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly unitPath: string;
|
|
20
|
+
readonly optional: boolean;
|
|
21
|
+
readonly protos: GraphNode<ProtoNode, ProtoDependencyMeta>[];
|
|
22
|
+
constructor(options: GlobalModuleNodeOptions);
|
|
23
|
+
addProto(proto: ProtoDescriptor): void;
|
|
24
|
+
toString(): string;
|
|
25
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GlobalModuleNode = exports.ModuleDependencyMeta = void 0;
|
|
4
|
+
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
5
|
+
const ProtoNode_1 = require("./ProtoNode");
|
|
6
|
+
class ModuleDependencyMeta {
|
|
7
|
+
constructor(obj, injectObj) {
|
|
8
|
+
this.obj = obj;
|
|
9
|
+
this.injectObj = injectObj;
|
|
10
|
+
}
|
|
11
|
+
equal(meta) {
|
|
12
|
+
return this.obj.equal(meta.obj)
|
|
13
|
+
&& this.injectObj === meta.injectObj;
|
|
14
|
+
}
|
|
15
|
+
toString() {
|
|
16
|
+
return `Object ${String(this.obj.name)} inject ${String(this.injectObj)}`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.ModuleDependencyMeta = ModuleDependencyMeta;
|
|
20
|
+
class GlobalModuleNode {
|
|
21
|
+
constructor(options) {
|
|
22
|
+
this.id = options.unitPath;
|
|
23
|
+
this.name = options.name;
|
|
24
|
+
this.unitPath = options.unitPath;
|
|
25
|
+
this.optional = options.optional;
|
|
26
|
+
this.protos = [];
|
|
27
|
+
}
|
|
28
|
+
addProto(proto) {
|
|
29
|
+
this.protos.push(new tegg_common_util_1.GraphNode(new ProtoNode_1.ProtoNode(proto)));
|
|
30
|
+
}
|
|
31
|
+
toString() {
|
|
32
|
+
return `${this.name}@${this.unitPath}`;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.GlobalModuleNode = GlobalModuleNode;
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2RlbC9ncmFwaC9HbG9iYWxNb2R1bGVOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhEQUE0RTtBQUM1RSwyQ0FBNkQ7QUFTN0QsTUFBYSxvQkFBb0I7SUFDL0IsWUFBcUIsR0FBb0IsRUFBVyxTQUFzQjtRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUFXLGNBQVMsR0FBVCxTQUFTLENBQWE7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUEwQjtRQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7ZUFDMUIsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxVQUFVLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0NBQ0Y7QUFaRCxvREFZQztBQUVELE1BQWEsZ0JBQWdCO0lBTzNCLFlBQVksT0FBZ0M7UUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBc0I7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBUyxDQUFDLElBQUkscUJBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBdEJELDRDQXNCQyJ9
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
+
import { GlobalModuleNode, GlobalModuleNodeOptions } from './GlobalModuleNode';
|
|
3
|
+
export declare class GlobalModuleNodeBuilder {
|
|
4
|
+
private readonly name;
|
|
5
|
+
private readonly unitPath;
|
|
6
|
+
private readonly optional;
|
|
7
|
+
private readonly protos;
|
|
8
|
+
constructor(options: GlobalModuleNodeOptions);
|
|
9
|
+
addClazz(clazz: EggProtoImplClass): this;
|
|
10
|
+
addMultiInstanceClazz(clazz: EggProtoImplClass, defineModuleName: string, defineUnitPath: string): this;
|
|
11
|
+
build(): GlobalModuleNode;
|
|
12
|
+
static create(unitPath: string, optional?: boolean): GlobalModuleNodeBuilder;
|
|
13
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GlobalModuleNodeBuilder = void 0;
|
|
4
|
+
const GlobalModuleNode_1 = require("./GlobalModuleNode");
|
|
5
|
+
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
6
|
+
const ProtoDescriptorHelper_1 = require("../ProtoDescriptorHelper");
|
|
7
|
+
class GlobalModuleNodeBuilder {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.name = options.name;
|
|
10
|
+
this.unitPath = options.unitPath;
|
|
11
|
+
this.optional = options.optional;
|
|
12
|
+
this.protos = [];
|
|
13
|
+
}
|
|
14
|
+
addClazz(clazz) {
|
|
15
|
+
const proto = ProtoDescriptorHelper_1.ProtoDescriptorHelper.createByInstanceClazz(clazz, {
|
|
16
|
+
moduleName: this.name,
|
|
17
|
+
unitPath: this.unitPath,
|
|
18
|
+
});
|
|
19
|
+
this.protos.push(proto);
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
addMultiInstanceClazz(clazz, defineModuleName, defineUnitPath) {
|
|
23
|
+
const protos = ProtoDescriptorHelper_1.ProtoDescriptorHelper.createByMultiInstanceClazz(clazz, {
|
|
24
|
+
defineModuleName,
|
|
25
|
+
defineUnitPath,
|
|
26
|
+
instanceModuleName: this.name,
|
|
27
|
+
instanceDefineUnitPath: this.unitPath,
|
|
28
|
+
});
|
|
29
|
+
this.protos.push(...protos);
|
|
30
|
+
return this;
|
|
31
|
+
}
|
|
32
|
+
build() {
|
|
33
|
+
const node = new GlobalModuleNode_1.GlobalModuleNode({
|
|
34
|
+
name: this.name,
|
|
35
|
+
unitPath: this.unitPath,
|
|
36
|
+
optional: this.optional,
|
|
37
|
+
});
|
|
38
|
+
for (const proto of this.protos) {
|
|
39
|
+
node.addProto(proto);
|
|
40
|
+
}
|
|
41
|
+
return node;
|
|
42
|
+
}
|
|
43
|
+
static create(unitPath, optional = false) {
|
|
44
|
+
const name = tegg_common_util_1.ModuleConfigUtil.readModuleNameSync(unitPath);
|
|
45
|
+
return new GlobalModuleNodeBuilder({
|
|
46
|
+
name,
|
|
47
|
+
unitPath,
|
|
48
|
+
optional,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.GlobalModuleNodeBuilder = GlobalModuleNodeBuilder;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBQStFO0FBQy9FLDhEQUEyRDtBQUMzRCxvRUFBaUU7QUFFakUsTUFBYSx1QkFBdUI7SUFNbEMsWUFBWSxPQUFnQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXdCO1FBQy9CLE1BQU0sS0FBSyxHQUFHLDZDQUFxQixDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRTtZQUMvRCxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQXdCLEVBQUUsZ0JBQXdCLEVBQUUsY0FBc0I7UUFDOUYsTUFBTSxNQUFNLEdBQUcsNkNBQXFCLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFO1lBQ3JFLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDN0Isc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQztZQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBZ0IsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUM5QyxNQUFNLElBQUksR0FBRyxtQ0FBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksdUJBQXVCLENBQUM7WUFDakMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBckRELDBEQXFEQyJ9
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GraphNodeObj, ProtoDescriptor } from '@eggjs/tegg-types';
|
|
2
|
+
import { ProtoSelectorContext } from './ProtoSelector';
|
|
3
|
+
import { EdgeMeta } from '@eggjs/tegg-common-util';
|
|
4
|
+
export declare class ProtoDependencyMeta implements EdgeMeta {
|
|
5
|
+
injectObj: PropertyKey;
|
|
6
|
+
constructor({ injectObj, }: {
|
|
7
|
+
injectObj: PropertyKey;
|
|
8
|
+
});
|
|
9
|
+
equal(meta: ProtoDependencyMeta): boolean;
|
|
10
|
+
toString(): string;
|
|
11
|
+
}
|
|
12
|
+
export declare class ProtoNode implements GraphNodeObj {
|
|
13
|
+
readonly id: string;
|
|
14
|
+
readonly proto: ProtoDescriptor;
|
|
15
|
+
constructor(proto: ProtoDescriptor);
|
|
16
|
+
toString(): string;
|
|
17
|
+
selectProto(ctx: ProtoSelectorContext): boolean;
|
|
18
|
+
static createProtoId(proto: ProtoDescriptor): string;
|
|
19
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProtoNode = exports.ProtoDependencyMeta = void 0;
|
|
4
|
+
const ProtoDescriptorHelper_1 = require("../ProtoDescriptorHelper");
|
|
5
|
+
class ProtoDependencyMeta {
|
|
6
|
+
constructor({ injectObj, }) {
|
|
7
|
+
this.injectObj = injectObj;
|
|
8
|
+
}
|
|
9
|
+
equal(meta) {
|
|
10
|
+
return this.injectObj === meta.injectObj;
|
|
11
|
+
}
|
|
12
|
+
toString() {
|
|
13
|
+
return `inject ${String(this.injectObj)}`;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ProtoDependencyMeta = ProtoDependencyMeta;
|
|
17
|
+
class ProtoNode {
|
|
18
|
+
constructor(proto) {
|
|
19
|
+
this.id = ProtoNode.createProtoId(proto);
|
|
20
|
+
this.proto = proto;
|
|
21
|
+
}
|
|
22
|
+
toString() {
|
|
23
|
+
return `${String(this.proto.name)}@${this.proto.instanceDefineUnitPath}`;
|
|
24
|
+
}
|
|
25
|
+
selectProto(ctx) {
|
|
26
|
+
return ProtoDescriptorHelper_1.ProtoDescriptorHelper.selectProto(this.proto, ctx);
|
|
27
|
+
}
|
|
28
|
+
static createProtoId(proto) {
|
|
29
|
+
const id = [
|
|
30
|
+
proto.name,
|
|
31
|
+
proto.instanceModuleName,
|
|
32
|
+
proto.initType,
|
|
33
|
+
...proto.qualifiers.map(t => String(t.attribute) + String(t.value)),
|
|
34
|
+
];
|
|
35
|
+
return id.join('@');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.ProtoNode = ProtoNode;
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9Ob2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZGVsL2dyYXBoL1Byb3RvTm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxvRUFBaUU7QUFFakUsTUFBYSxtQkFBbUI7SUFHOUIsWUFBWSxFQUNWLFNBQVMsR0FHVjtRQUNDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBeUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDM0MsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLFVBQVUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQWxCRCxrREFrQkM7QUFFRCxNQUFhLFNBQVM7SUFJcEIsWUFBWSxLQUFzQjtRQUNoQyxJQUFJLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBeUI7UUFDbkMsT0FBTyw2Q0FBcUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFzQjtRQUN6QyxNQUFNLEVBQUUsR0FBRztZQUNULEtBQUssQ0FBQyxJQUFJO1lBQ1YsS0FBSyxDQUFDLGtCQUFrQjtZQUN4QixLQUFLLENBQUMsUUFBUTtZQUNkLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEUsQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUExQkQsOEJBMEJDIn0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9TZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2RlbC9ncmFwaC9Qcm90b1NlbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-metadata",
|
|
3
|
-
"version": "3.46.
|
|
3
|
+
"version": "3.46.2",
|
|
4
4
|
"description": "tegg metadata",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"node": ">=14.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@eggjs/core-decorator": "^3.46.
|
|
39
|
-
"@eggjs/tegg-common-util": "^3.46.
|
|
40
|
-
"@eggjs/tegg-lifecycle": "^3.46.
|
|
41
|
-
"@eggjs/tegg-types": "^3.46.
|
|
38
|
+
"@eggjs/core-decorator": "^3.46.2",
|
|
39
|
+
"@eggjs/tegg-common-util": "^3.46.2",
|
|
40
|
+
"@eggjs/tegg-lifecycle": "^3.46.2",
|
|
41
|
+
"@eggjs/tegg-types": "^3.46.2",
|
|
42
42
|
"egg-errors": "^2.2.3"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "b6d33ddd36184e0d610e7df7f56cc326e9d3f17b"
|
|
58
58
|
}
|