@eggjs/tegg-metadata 3.57.15-alpha.0 → 3.59.0
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 +0 -2
- package/dist/index.js +1 -3
- package/dist/src/impl/EggPrototypeBuilder.d.ts +4 -0
- package/dist/src/impl/EggPrototypeBuilder.js +82 -10
- package/dist/src/model/ModuleDescriptor.d.ts +0 -1
- package/dist/src/model/ModuleDescriptor.js +1 -1
- package/dist/src/model/ProtoDescriptorHelper.d.ts +20 -5
- package/dist/src/model/ProtoDescriptorHelper.js +20 -20
- package/dist/src/model/graph/GlobalGraph.d.ts +3 -4
- package/dist/src/model/graph/GlobalGraph.js +54 -10
- package/dist/src/model/graph/GlobalModuleNode.d.ts +4 -6
- package/dist/src/model/graph/GlobalModuleNode.js +2 -25
- package/dist/src/model/graph/GlobalModuleNodeBuilder.js +3 -3
- package/dist/src/model/graph/ProtoNode.d.ts +1 -3
- package/package.json +6 -6
- package/dist/src/impl/EggInnerObjectPrototypeImpl.d.ts +0 -24
- package/dist/src/impl/EggInnerObjectPrototypeImpl.js +0 -79
- package/dist/src/impl/InjectObjectPrototypeFinder.d.ts +0 -17
- package/dist/src/impl/InjectObjectPrototypeFinder.js +0 -93
- package/dist/src/model/graph/ProtoGraphUtils.d.ts +0 -6
- package/dist/src/model/graph/ProtoGraphUtils.js +0 -70
package/dist/index.d.ts
CHANGED
|
@@ -7,14 +7,12 @@ export * from './src/model/LoadUnit';
|
|
|
7
7
|
export * from './src/errors';
|
|
8
8
|
export * from './src/util/ClassUtil';
|
|
9
9
|
export * from './src/impl/LoadUnitMultiInstanceProtoHook';
|
|
10
|
-
export * from './src/impl/EggInnerObjectPrototypeImpl';
|
|
11
10
|
export * from './src/model/AppGraph';
|
|
12
11
|
export * from './src/model/graph/GlobalGraph';
|
|
13
12
|
export * from './src/model/graph/GlobalModuleNode';
|
|
14
13
|
export * from './src/model/graph/GlobalModuleNodeBuilder';
|
|
15
14
|
export * from './src/model/graph/ProtoNode';
|
|
16
15
|
export * from './src/model/graph/ProtoSelector';
|
|
17
|
-
export * from './src/model/graph/ProtoGraphUtils';
|
|
18
16
|
export * from './src/model/ProtoDescriptor/AbstractProtoDescriptor';
|
|
19
17
|
export * from './src/model/ProtoDescriptor/ClassProtoDescriptor';
|
|
20
18
|
export * from './src/model/ModuleDescriptor';
|
package/dist/index.js
CHANGED
|
@@ -23,18 +23,16 @@ __exportStar(require("./src/model/LoadUnit"), exports);
|
|
|
23
23
|
__exportStar(require("./src/errors"), exports);
|
|
24
24
|
__exportStar(require("./src/util/ClassUtil"), exports);
|
|
25
25
|
__exportStar(require("./src/impl/LoadUnitMultiInstanceProtoHook"), exports);
|
|
26
|
-
__exportStar(require("./src/impl/EggInnerObjectPrototypeImpl"), exports);
|
|
27
26
|
__exportStar(require("./src/model/AppGraph"), exports);
|
|
28
27
|
__exportStar(require("./src/model/graph/GlobalGraph"), exports);
|
|
29
28
|
__exportStar(require("./src/model/graph/GlobalModuleNode"), exports);
|
|
30
29
|
__exportStar(require("./src/model/graph/GlobalModuleNodeBuilder"), exports);
|
|
31
30
|
__exportStar(require("./src/model/graph/ProtoNode"), exports);
|
|
32
31
|
__exportStar(require("./src/model/graph/ProtoSelector"), exports);
|
|
33
|
-
__exportStar(require("./src/model/graph/ProtoGraphUtils"), exports);
|
|
34
32
|
__exportStar(require("./src/model/ProtoDescriptor/AbstractProtoDescriptor"), exports);
|
|
35
33
|
__exportStar(require("./src/model/ProtoDescriptor/ClassProtoDescriptor"), exports);
|
|
36
34
|
__exportStar(require("./src/model/ModuleDescriptor"), exports);
|
|
37
35
|
__exportStar(require("./src/model/ProtoDescriptorHelper"), exports);
|
|
38
36
|
require("./src/impl/ModuleLoadUnit");
|
|
39
37
|
require("./src/impl/EggPrototypeBuilder");
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTJDO0FBQzNDLG9FQUFrRDtBQUNsRCwyRUFBeUQ7QUFDekQsZ0VBQThDO0FBQzlDLDJEQUF5QztBQUN6Qyx1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLHVEQUFxQztBQUNyQyw0RUFBMEQ7QUFDMUQsdURBQXFDO0FBRXJDLGdFQUE4QztBQUM5QyxxRUFBbUQ7QUFDbkQsNEVBQTBEO0FBQzFELDhEQUE0QztBQUM1QyxrRUFBZ0Q7QUFDaEQsc0ZBQW9FO0FBQ3BFLG1GQUFpRTtBQUNqRSwrREFBNkM7QUFDN0Msb0VBQWtEO0FBRWxELHFDQUFtQztBQUNuQywwQ0FBd0MifQ==
|
|
@@ -14,5 +14,9 @@ export declare class EggPrototypeBuilder {
|
|
|
14
14
|
private multiInstanceConstructorIndex?;
|
|
15
15
|
private multiInstanceConstructorAttributes?;
|
|
16
16
|
static create(ctx: EggPrototypeLifecycleContext): EggPrototype;
|
|
17
|
+
private tryFindDefaultPrototype;
|
|
18
|
+
private tryFindContextPrototype;
|
|
19
|
+
private tryFindSelfInitTypePrototype;
|
|
20
|
+
private findInjectObjectPrototype;
|
|
17
21
|
build(): EggPrototype;
|
|
18
22
|
}
|
|
@@ -7,10 +7,11 @@ exports.EggPrototypeBuilder = void 0;
|
|
|
7
7
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
8
|
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
9
9
|
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
10
|
+
const EggPrototypeFactory_1 = require("../factory/EggPrototypeFactory");
|
|
10
11
|
const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
|
|
11
12
|
const EggPrototypeImpl_1 = require("./EggPrototypeImpl");
|
|
12
13
|
const EggPrototypeCreatorFactory_1 = require("../factory/EggPrototypeCreatorFactory");
|
|
13
|
-
const
|
|
14
|
+
const errors_1 = require("../errors");
|
|
14
15
|
class EggPrototypeBuilder {
|
|
15
16
|
constructor() {
|
|
16
17
|
this.injectObjects = [];
|
|
@@ -38,19 +39,90 @@ class EggPrototypeBuilder {
|
|
|
38
39
|
builder.multiInstanceConstructorAttributes = core_decorator_1.PrototypeUtil.getMultiInstanceConstructorAttributes(clazz);
|
|
39
40
|
return builder.build();
|
|
40
41
|
}
|
|
42
|
+
tryFindDefaultPrototype(injectObject) {
|
|
43
|
+
var _a;
|
|
44
|
+
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
45
|
+
const multiInstancePropertyQualifiers = (_a = this.properQualifiers[injectObject.refName]) !== null && _a !== void 0 ? _a : [];
|
|
46
|
+
return EggPrototypeFactory_1.EggPrototypeFactory.instance.getPrototype(injectObject.objName, this.loadUnit, core_decorator_1.QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers));
|
|
47
|
+
}
|
|
48
|
+
tryFindContextPrototype(injectObject) {
|
|
49
|
+
var _a;
|
|
50
|
+
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
51
|
+
const multiInstancePropertyQualifiers = (_a = this.properQualifiers[injectObject.refName]) !== null && _a !== void 0 ? _a : [];
|
|
52
|
+
return EggPrototypeFactory_1.EggPrototypeFactory.instance.getPrototype(injectObject.objName, this.loadUnit, core_decorator_1.QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers, [{
|
|
53
|
+
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
54
|
+
value: tegg_types_1.ObjectInitType.CONTEXT,
|
|
55
|
+
}]));
|
|
56
|
+
}
|
|
57
|
+
tryFindSelfInitTypePrototype(injectObject) {
|
|
58
|
+
var _a;
|
|
59
|
+
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
60
|
+
const multiInstancePropertyQualifiers = (_a = this.properQualifiers[injectObject.refName]) !== null && _a !== void 0 ? _a : [];
|
|
61
|
+
return EggPrototypeFactory_1.EggPrototypeFactory.instance.getPrototype(injectObject.objName, this.loadUnit, core_decorator_1.QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers, [{
|
|
62
|
+
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
63
|
+
value: this.initType,
|
|
64
|
+
}]));
|
|
65
|
+
}
|
|
66
|
+
findInjectObjectPrototype(injectObject) {
|
|
67
|
+
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
68
|
+
try {
|
|
69
|
+
return this.tryFindDefaultPrototype(injectObject);
|
|
70
|
+
}
|
|
71
|
+
catch (e) {
|
|
72
|
+
if (!(e instanceof errors_1.MultiPrototypeFound && !propertyQualifiers.find(t => t.attribute === tegg_types_1.InitTypeQualifierAttribute))) {
|
|
73
|
+
throw e;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
return this.tryFindContextPrototype(injectObject);
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
if (!(e instanceof errors_1.EggPrototypeNotFound)) {
|
|
81
|
+
throw e;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return this.tryFindSelfInitTypePrototype(injectObject);
|
|
85
|
+
}
|
|
41
86
|
build() {
|
|
42
|
-
const injectObjectProtos =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
87
|
+
const injectObjectProtos = [];
|
|
88
|
+
for (const injectObject of this.injectObjects) {
|
|
89
|
+
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
90
|
+
try {
|
|
91
|
+
const proto = this.findInjectObjectPrototype(injectObject);
|
|
92
|
+
let injectObjectProto;
|
|
93
|
+
if (this.injectType === core_decorator_1.InjectType.PROPERTY) {
|
|
94
|
+
injectObjectProto = {
|
|
95
|
+
refName: injectObject.refName,
|
|
96
|
+
objName: injectObject.objName,
|
|
97
|
+
qualifiers: propertyQualifiers,
|
|
98
|
+
proto,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
injectObjectProto = {
|
|
103
|
+
refIndex: injectObject.refIndex,
|
|
104
|
+
refName: injectObject.refName,
|
|
105
|
+
objName: injectObject.objName,
|
|
106
|
+
qualifiers: propertyQualifiers,
|
|
107
|
+
proto,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
if (injectObject.optional) {
|
|
111
|
+
injectObject.optional = true;
|
|
112
|
+
}
|
|
113
|
+
injectObjectProtos.push(injectObjectProto);
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
if (e instanceof errors_1.EggPrototypeNotFound && injectObject.optional) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
throw e;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
50
122
|
const id = tegg_lifecycle_1.IdenticalUtil.createProtoId(this.loadUnit.id, this.name);
|
|
51
123
|
return new EggPrototypeImpl_1.EggPrototypeImpl(id, this.name, this.clazz, this.filepath, this.initType, this.accessLevel, injectObjectProtos, this.loadUnit.id, this.qualifiers, this.className, this.injectType, this.multiInstanceConstructorIndex, this.multiInstanceConstructorAttributes);
|
|
52
124
|
}
|
|
53
125
|
}
|
|
54
126
|
exports.EggPrototypeBuilder = EggPrototypeBuilder;
|
|
55
127
|
EggPrototypeCreatorFactory_1.EggPrototypeCreatorFactory.registerPrototypeCreator(tegg_types_1.DEFAULT_PROTO_IMPL_TYPE, EggPrototypeBuilder.create);
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL0VnZ1Byb3RvdHlwZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLDBEQUFxRztBQWFyRyxrREFLMkI7QUFDM0Isd0VBQXFFO0FBQ3JFLDBEQUFzRDtBQUN0RCx5REFBc0Q7QUFDdEQsc0ZBQW1GO0FBQ25GLHNDQUFzRTtBQUV0RSxNQUFhLG1CQUFtQjtJQUFoQztRQU9VLGtCQUFhLEdBQTRDLEVBQUUsQ0FBQztRQUU1RCxlQUFVLEdBQW9CLEVBQUUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBeUMsRUFBRSxDQUFDO0lBc0l0RSxDQUFDO0lBaklDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBaUM7O1FBQzdDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUEscUJBQU0sRUFBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUN0QyxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDOUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVMsQ0FBQztRQUM3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
|
|
@@ -43,4 +43,4 @@ class ModuleDescriptorDumper {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
exports.ModuleDescriptorDumper = ModuleDescriptorDumper;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlRGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9Nb2R1bGVEZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixnRUFBa0M7QUFFbEMsMERBQXNEO0FBRXRELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7QUFlL0MsTUFBYSxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFrQztRQUMzRCxPQUFPLEdBQUc7Y0FDTixZQUFZLGdCQUFnQixDQUFDLElBQUksSUFBSTtjQUNyQyxnQkFBZ0IsZ0JBQWdCLENBQUMsUUFBUSxJQUFJO2NBQzdDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxlQUFlLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Y0FDckcsaUJBQWlCLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLDhCQUE4QixnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlFLE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLGNBQWMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztjQUNiLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXdCLEVBQUUsZ0JBQWtDO1FBQ2hGLE9BQU8sR0FBRztjQUNOLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSTtjQUMxQixDQUFDLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsbUJBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2NBQ3hJLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQXNCLEVBQUUsT0FBMkI7O1FBQ2pFLE1BQU0sT0FBTyxHQUFHLE1BQUEsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sbUNBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFzQixFQUFFLE9BQTJCO1FBQ25FLE1BQU0sUUFBUSxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxrQkFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sa0JBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGO0FBbkNELHdEQW1DQyJ9
|
|
@@ -1,11 +1,26 @@
|
|
|
1
|
-
import { EggProtoImplClass, ObjectInitTypeLike, ProtoDescriptor, QualifierInfo,
|
|
1
|
+
import { EggProtoImplClass, ObjectInitTypeLike, ProtoDescriptor, QualifierInfo, MultiInstancePrototypeGetObjectsContext } from '@eggjs/tegg-types';
|
|
2
2
|
import { ProtoSelectorContext } from './graph/ProtoSelector';
|
|
3
3
|
export declare class ProtoDescriptorHelper {
|
|
4
4
|
#private;
|
|
5
5
|
static addDefaultQualifier(qualifiers: QualifierInfo[], initType: ObjectInitTypeLike, loadUnitName: string): QualifierInfo[];
|
|
6
|
-
static createByMultiInstanceClazz(clazz: EggProtoImplClass,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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;
|
|
10
25
|
static selectProto(proto: ProtoDescriptor, ctx: ProtoSelectorContext): boolean;
|
|
11
26
|
}
|
|
@@ -10,9 +10,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
10
10
|
var _a, _ProtoDescriptorHelper_createByMultiInstanceClazz;
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ProtoDescriptorHelper = void 0;
|
|
13
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
14
13
|
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
15
14
|
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
15
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
16
16
|
const ClassProtoDescriptor_1 = require("./ProtoDescriptor/ClassProtoDescriptor");
|
|
17
17
|
class ProtoDescriptorHelper {
|
|
18
18
|
static addDefaultQualifier(qualifiers, initType, loadUnitName) {
|
|
@@ -33,34 +33,34 @@ class ProtoDescriptorHelper {
|
|
|
33
33
|
}
|
|
34
34
|
return res;
|
|
35
35
|
}
|
|
36
|
-
static createByMultiInstanceClazz(clazz,
|
|
36
|
+
static createByMultiInstanceClazz(clazz, options) {
|
|
37
37
|
(0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
|
|
38
38
|
const type = core_decorator_1.PrototypeUtil.getEggMultiInstancePrototypeType(clazz);
|
|
39
39
|
if (type === tegg_types_1.MultiInstanceType.DYNAMIC) {
|
|
40
|
-
return _a.createByDynamicMultiInstanceClazz(clazz,
|
|
40
|
+
return _a.createByDynamicMultiInstanceClazz(clazz, options);
|
|
41
41
|
}
|
|
42
42
|
else if (type === tegg_types_1.MultiInstanceType.STATIC) {
|
|
43
43
|
// static multi instance proto create only in self module
|
|
44
|
-
if (
|
|
45
|
-
return _a.createByStaticMultiInstanceClazz(clazz,
|
|
44
|
+
if (options.defineModuleName === options.instanceModuleName) {
|
|
45
|
+
return _a.createByStaticMultiInstanceClazz(clazz, options);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
return [];
|
|
49
49
|
}
|
|
50
|
-
static createByDynamicMultiInstanceClazz(clazz,
|
|
50
|
+
static createByDynamicMultiInstanceClazz(clazz, options) {
|
|
51
51
|
(0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
|
|
52
52
|
const instanceProperty = core_decorator_1.PrototypeUtil.getDynamicMultiInstanceProperty(clazz, {
|
|
53
|
-
moduleName:
|
|
54
|
-
unitPath:
|
|
53
|
+
moduleName: options.instanceModuleName,
|
|
54
|
+
unitPath: options.instanceDefineUnitPath,
|
|
55
55
|
});
|
|
56
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,
|
|
57
|
+
return __classPrivateFieldGet(_a, _a, "m", _ProtoDescriptorHelper_createByMultiInstanceClazz).call(_a, clazz, instanceProperty, options);
|
|
58
58
|
}
|
|
59
|
-
static createByStaticMultiInstanceClazz(clazz,
|
|
59
|
+
static createByStaticMultiInstanceClazz(clazz, options) {
|
|
60
60
|
(0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
|
|
61
61
|
const instanceProperty = core_decorator_1.PrototypeUtil.getStaticMultiInstanceProperty(clazz);
|
|
62
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,
|
|
63
|
+
return __classPrivateFieldGet(_a, _a, "m", _ProtoDescriptorHelper_createByMultiInstanceClazz).call(_a, clazz, instanceProperty, options);
|
|
64
64
|
}
|
|
65
65
|
static createByInstanceClazz(clazz, ctx) {
|
|
66
66
|
(0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggPrototype(clazz), `clazz ${clazz.name} is not EggPrototype`);
|
|
@@ -85,8 +85,8 @@ class ProtoDescriptorHelper {
|
|
|
85
85
|
injectObjects,
|
|
86
86
|
instanceDefineUnitPath: ctx.unitPath,
|
|
87
87
|
instanceModuleName: ctx.moduleName,
|
|
88
|
-
defineUnitPath: ctx.
|
|
89
|
-
defineModuleName: ctx.
|
|
88
|
+
defineUnitPath: ctx.unitPath,
|
|
89
|
+
defineModuleName: ctx.moduleName,
|
|
90
90
|
clazz,
|
|
91
91
|
properQualifiers: {},
|
|
92
92
|
});
|
|
@@ -108,11 +108,11 @@ class ProtoDescriptorHelper {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
exports.ProtoDescriptorHelper = ProtoDescriptorHelper;
|
|
111
|
-
_a = ProtoDescriptorHelper, _ProtoDescriptorHelper_createByMultiInstanceClazz = function _ProtoDescriptorHelper_createByMultiInstanceClazz(clazz, instanceProperty,
|
|
111
|
+
_a = ProtoDescriptorHelper, _ProtoDescriptorHelper_createByMultiInstanceClazz = function _ProtoDescriptorHelper_createByMultiInstanceClazz(clazz, instanceProperty, options) {
|
|
112
112
|
const res = [];
|
|
113
113
|
for (const obj of instanceProperty.objects) {
|
|
114
114
|
let qualifiers = core_decorator_1.QualifierUtil.mergeQualifiers(core_decorator_1.QualifierUtil.getProtoQualifiers(clazz), obj.qualifiers);
|
|
115
|
-
qualifiers = _a.addDefaultQualifier(qualifiers, instanceProperty.initType,
|
|
115
|
+
qualifiers = _a.addDefaultQualifier(qualifiers, instanceProperty.initType, options.instanceModuleName);
|
|
116
116
|
const injectObjects = core_decorator_1.PrototypeUtil.getInjectObjects(clazz)
|
|
117
117
|
.map(t => {
|
|
118
118
|
var _b, _c;
|
|
@@ -130,14 +130,14 @@ _a = ProtoDescriptorHelper, _ProtoDescriptorHelper_createByMultiInstanceClazz =
|
|
|
130
130
|
protoImplType: instanceProperty.protoImplType,
|
|
131
131
|
qualifiers,
|
|
132
132
|
injectObjects,
|
|
133
|
-
instanceModuleName:
|
|
134
|
-
instanceDefineUnitPath:
|
|
135
|
-
defineModuleName:
|
|
136
|
-
defineUnitPath:
|
|
133
|
+
instanceModuleName: options.instanceModuleName,
|
|
134
|
+
instanceDefineUnitPath: options.instanceDefineUnitPath,
|
|
135
|
+
defineModuleName: options.defineModuleName,
|
|
136
|
+
defineUnitPath: options.defineUnitPath,
|
|
137
137
|
clazz,
|
|
138
138
|
properQualifiers: obj.properQualifiers || {},
|
|
139
139
|
}));
|
|
140
140
|
}
|
|
141
141
|
return res;
|
|
142
142
|
};
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9EZXNjcmlwdG9ySGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL1Byb3RvRGVzY3JpcHRvckhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwwREFJK0I7QUFDL0Isa0RBVTJCO0FBQzNCLDhEQUFpQztBQUVqQyxpRkFBOEU7QUFFOUUsTUFBYSxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQTJCLEVBQUUsUUFBNEIsRUFBRSxZQUFvQjtRQUN4RyxNQUFNLGlCQUFpQixHQUFHLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSx1Q0FBMEI7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRO2FBQ2hCLEVBQUU7Z0JBQ0QsU0FBUyxFQUFFLDJDQUE4QjtnQkFDekMsS0FBSyxFQUFFLFlBQVk7YUFDcEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUc7WUFDVixHQUFHLFVBQVU7U0FDZCxDQUFDO1FBQ0YsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxLQUF3QixFQUFFLE9BSzNEO1FBQ0MsSUFBQSxxQkFBTSxFQUFDLDhCQUFhLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxLQUFLLENBQUMsSUFBSSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQzlHLE1BQU0sSUFBSSxHQUFHLDhCQUFhLENBQUMsZ0NBQWdDLENB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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Graph, GraphNode, ModuleReference } from '@eggjs/tegg-common-util';
|
|
2
2
|
import { InjectObjectDescriptor, ProtoDescriptor } from '@eggjs/tegg-types';
|
|
3
|
-
import {
|
|
4
|
-
import { ProtoDependencyMeta,
|
|
3
|
+
import { ModuleDependencyMeta, GlobalModuleNode } from './GlobalModuleNode';
|
|
4
|
+
import { ProtoDependencyMeta, ProtoNode } from './ProtoNode';
|
|
5
5
|
import { ModuleDescriptor } from '../ModuleDescriptor';
|
|
6
6
|
export interface GlobalGraphOptions {
|
|
7
7
|
strict?: boolean;
|
|
@@ -52,12 +52,11 @@ export declare class GlobalGraph {
|
|
|
52
52
|
constructor(options?: GlobalGraphOptions);
|
|
53
53
|
registerBuildHook(hook: GlobalGraphBuildHook): void;
|
|
54
54
|
addModuleNode(moduleNode: GlobalModuleNode): void;
|
|
55
|
-
addProtoNode(protoNode: ProtoGraphNode): void;
|
|
56
55
|
build(): void;
|
|
57
56
|
buildInjectEdge(moduleNode: GraphNode<GlobalModuleNode, ModuleDependencyMeta>, protoNode: GraphNode<ProtoNode, ProtoDependencyMeta>, injectObj: InjectObjectDescriptor): void;
|
|
58
57
|
addInject(moduleNode: GraphNode<GlobalModuleNode, ModuleDependencyMeta>, protoNode: GraphNode<ProtoNode, ProtoDependencyMeta>, injectNode: GraphNode<ProtoNode, ProtoDependencyMeta>, injectName: PropertyKey): void;
|
|
59
58
|
findInjectProto(proto: ProtoDescriptor, injectObject: InjectObjectDescriptor): ProtoDescriptor | undefined;
|
|
60
|
-
findDependencyProtoNode(proto: ProtoDescriptor, injectObject: InjectObjectDescriptor):
|
|
59
|
+
findDependencyProtoNode(proto: ProtoDescriptor, injectObject: InjectObjectDescriptor): GraphNode<ProtoNode, ProtoDependencyMeta> | undefined;
|
|
61
60
|
findModuleNode(moduleName: string): GraphNode<GlobalModuleNode, ModuleDependencyMeta> | undefined;
|
|
62
61
|
sort(): void;
|
|
63
62
|
static create(moduleDescriptors: ModuleDescriptor[], options?: GlobalGraphOptions): GlobalGraph;
|
|
@@ -4,16 +4,17 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
4
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
5
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
6
|
};
|
|
7
|
-
var _GlobalGraph_instances, _GlobalGraph_sortModule, _GlobalGraph_sortClazz;
|
|
7
|
+
var _GlobalGraph_instances, _GlobalGraph_findDependencyProtoWithDefaultQualifiers, _GlobalGraph_sortModule, _GlobalGraph_sortClazz;
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.GlobalGraph = void 0;
|
|
10
10
|
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
11
|
+
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
11
12
|
const GlobalModuleNode_1 = require("./GlobalModuleNode");
|
|
12
13
|
const ProtoNode_1 = require("./ProtoNode");
|
|
13
14
|
const egg_errors_1 = require("egg-errors");
|
|
14
15
|
const errors_1 = require("../../errors");
|
|
15
16
|
const GlobalModuleNodeBuilder_1 = require("./GlobalModuleNodeBuilder");
|
|
16
|
-
const
|
|
17
|
+
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
17
18
|
/**
|
|
18
19
|
* Sort all prototypes and modules in app.
|
|
19
20
|
* - 1. LoaderFactory.loadApp: get ModuleDescriptors
|
|
@@ -50,11 +51,6 @@ class GlobalGraph {
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
|
-
addProtoNode(protoNode) {
|
|
54
|
-
if (!this.protoGraph.addVertex(protoNode)) {
|
|
55
|
-
throw new Error(`duplicate proto: ${protoNode}`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
54
|
build() {
|
|
59
55
|
for (const moduleNode of this.moduleGraph.nodes.values()) {
|
|
60
56
|
for (const protoNode of moduleNode.val.protos) {
|
|
@@ -99,7 +95,42 @@ class GlobalGraph {
|
|
|
99
95
|
return edge === null || edge === void 0 ? void 0 : edge.val.proto;
|
|
100
96
|
}
|
|
101
97
|
findDependencyProtoNode(proto, injectObject) {
|
|
102
|
-
|
|
98
|
+
// 1. find proto with request
|
|
99
|
+
// 2. try to add Context qualifier to find
|
|
100
|
+
// 3. try to add self init type qualifier to find
|
|
101
|
+
const protos = __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findDependencyProtoWithDefaultQualifiers).call(this, proto, injectObject, []);
|
|
102
|
+
if (protos.length === 0) {
|
|
103
|
+
return;
|
|
104
|
+
// throw FrameworkErrorFormater.formatError(new EggPrototypeNotFound(injectObject.objName, proto.instanceModuleName));
|
|
105
|
+
}
|
|
106
|
+
if (protos.length === 1) {
|
|
107
|
+
return protos[0];
|
|
108
|
+
}
|
|
109
|
+
const protoWithContext = __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findDependencyProtoWithDefaultQualifiers).call(this, proto, injectObject, [{
|
|
110
|
+
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
111
|
+
value: tegg_types_1.ObjectInitType.CONTEXT,
|
|
112
|
+
}]);
|
|
113
|
+
if (protoWithContext.length === 1) {
|
|
114
|
+
return protoWithContext[0];
|
|
115
|
+
}
|
|
116
|
+
const protoWithSelfInitType = __classPrivateFieldGet(this, _GlobalGraph_instances, "m", _GlobalGraph_findDependencyProtoWithDefaultQualifiers).call(this, proto, injectObject, [{
|
|
117
|
+
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
118
|
+
value: proto.initType,
|
|
119
|
+
}]);
|
|
120
|
+
if (protoWithSelfInitType.length === 1) {
|
|
121
|
+
return protoWithSelfInitType[0];
|
|
122
|
+
}
|
|
123
|
+
const loadUnitQualifier = injectObject.qualifiers.find(t => t.attribute === tegg_types_1.LoadUnitNameQualifierAttribute);
|
|
124
|
+
if (!loadUnitQualifier) {
|
|
125
|
+
return this.findDependencyProtoNode(proto, {
|
|
126
|
+
...injectObject,
|
|
127
|
+
qualifiers: core_decorator_1.QualifierUtil.mergeQualifiers(injectObject.qualifiers, [{
|
|
128
|
+
attribute: tegg_types_1.LoadUnitNameQualifierAttribute,
|
|
129
|
+
value: proto.instanceModuleName,
|
|
130
|
+
}]),
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
throw egg_errors_1.FrameworkErrorFormater.formatError(new errors_1.MultiPrototypeFound(injectObject.objName, injectObject.qualifiers));
|
|
103
134
|
}
|
|
104
135
|
findModuleNode(moduleName) {
|
|
105
136
|
for (const node of this.moduleGraph.nodes.values()) {
|
|
@@ -133,7 +164,20 @@ class GlobalGraph {
|
|
|
133
164
|
}
|
|
134
165
|
}
|
|
135
166
|
exports.GlobalGraph = GlobalGraph;
|
|
136
|
-
_GlobalGraph_instances = new WeakSet(),
|
|
167
|
+
_GlobalGraph_instances = new WeakSet(), _GlobalGraph_findDependencyProtoWithDefaultQualifiers = function _GlobalGraph_findDependencyProtoWithDefaultQualifiers(proto, injectObject, qualifiers) {
|
|
168
|
+
// TODO perf O(n(proto count)*m(inject count)*n)
|
|
169
|
+
const result = [];
|
|
170
|
+
for (const node of this.protoGraph.nodes.values()) {
|
|
171
|
+
if (node.val.selectProto({
|
|
172
|
+
name: injectObject.objName,
|
|
173
|
+
qualifiers: core_decorator_1.QualifierUtil.mergeQualifiers(injectObject.qualifiers, qualifiers),
|
|
174
|
+
moduleName: proto.instanceModuleName,
|
|
175
|
+
})) {
|
|
176
|
+
result.push(node);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return result;
|
|
180
|
+
}, _GlobalGraph_sortModule = function _GlobalGraph_sortModule() {
|
|
137
181
|
const loopPath = this.moduleGraph.loopPath();
|
|
138
182
|
if (loopPath) {
|
|
139
183
|
throw new Error('module has recursive deps: ' + loopPath);
|
|
@@ -166,4 +210,4 @@ _GlobalGraph_instances = new WeakSet(), _GlobalGraph_sortModule = function _Glob
|
|
|
166
210
|
moduleProtoList.push(proto.val.proto);
|
|
167
211
|
}
|
|
168
212
|
};
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsOERBQTRFO0FBQzVFLGtEQU0yQjtBQUMzQix5REFBNEU7QUFDNUUsMkNBQTZEO0FBQzdELDJDQUFvRDtBQUNwRCx5Q0FBeUU7QUFDekUsdUVBQW9FO0FBRXBFLDBEQUFzRDtBQVV0RDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLFdBQVc7SUE4QnRCLFlBQVksT0FBNEI7OztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksd0JBQUssRUFBMEMsQ0FBQztRQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksd0JBQUssRUFBa0MsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sbUNBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUEwQjtRQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQTRCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLDRCQUFTLENBQXlDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRyxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMs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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GraphNode, GraphNodeObj, EdgeMeta } from '@eggjs/tegg-common-util';
|
|
2
|
-
import { ProtoDependencyMeta,
|
|
3
|
-
import {
|
|
2
|
+
import { ProtoDependencyMeta, ProtoNode } from './ProtoNode';
|
|
3
|
+
import { ProtoDescriptor } from '@eggjs/tegg-types';
|
|
4
4
|
export interface GlobalModuleNodeOptions {
|
|
5
5
|
name: string;
|
|
6
6
|
unitPath: string;
|
|
@@ -18,10 +18,8 @@ export declare class GlobalModuleNode implements GraphNodeObj {
|
|
|
18
18
|
readonly name: string;
|
|
19
19
|
readonly unitPath: string;
|
|
20
20
|
readonly optional: boolean;
|
|
21
|
-
readonly protos:
|
|
21
|
+
readonly protos: GraphNode<ProtoNode, ProtoDependencyMeta>[];
|
|
22
22
|
constructor(options: GlobalModuleNodeOptions);
|
|
23
|
-
|
|
24
|
-
addProtoByMultiInstanceClazz(clazz: EggProtoImplClass, defineModuleName: string, defineUnitPath: string): ProtoGraphNode[];
|
|
25
|
-
addProto(proto: ProtoDescriptor): GraphNode<ProtoNode, ProtoDependencyMeta>;
|
|
23
|
+
addProto(proto: ProtoDescriptor): void;
|
|
26
24
|
toString(): string;
|
|
27
25
|
}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GlobalModuleNode = exports.ModuleDependencyMeta = void 0;
|
|
4
4
|
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
5
5
|
const ProtoNode_1 = require("./ProtoNode");
|
|
6
|
-
const ProtoDescriptorHelper_1 = require("../ProtoDescriptorHelper");
|
|
7
6
|
class ModuleDependencyMeta {
|
|
8
7
|
constructor(obj, injectObj) {
|
|
9
8
|
this.obj = obj;
|
|
@@ -26,34 +25,12 @@ class GlobalModuleNode {
|
|
|
26
25
|
this.optional = options.optional;
|
|
27
26
|
this.protos = [];
|
|
28
27
|
}
|
|
29
|
-
addProtoByClazz(clazz) {
|
|
30
|
-
const proto = ProtoDescriptorHelper_1.ProtoDescriptorHelper.createByInstanceClazz(clazz, {
|
|
31
|
-
moduleName: this.name,
|
|
32
|
-
unitPath: this.unitPath,
|
|
33
|
-
});
|
|
34
|
-
return this.addProto(proto);
|
|
35
|
-
}
|
|
36
|
-
addProtoByMultiInstanceClazz(clazz, defineModuleName, defineUnitPath) {
|
|
37
|
-
const protos = ProtoDescriptorHelper_1.ProtoDescriptorHelper.createByMultiInstanceClazz(clazz, {
|
|
38
|
-
moduleName: this.name,
|
|
39
|
-
unitPath: this.unitPath,
|
|
40
|
-
defineModuleName,
|
|
41
|
-
defineUnitPath,
|
|
42
|
-
});
|
|
43
|
-
const result = [];
|
|
44
|
-
for (const proto of protos) {
|
|
45
|
-
result.push(this.addProto(proto));
|
|
46
|
-
}
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
28
|
addProto(proto) {
|
|
50
|
-
|
|
51
|
-
this.protos.push(protoGraphNode);
|
|
52
|
-
return protoGraphNode;
|
|
29
|
+
this.protos.push(new tegg_common_util_1.GraphNode(new ProtoNode_1.ProtoNode(proto)));
|
|
53
30
|
}
|
|
54
31
|
toString() {
|
|
55
32
|
return `${this.name}@${this.unitPath}`;
|
|
56
33
|
}
|
|
57
34
|
}
|
|
58
35
|
exports.GlobalModuleNode = GlobalModuleNode;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2RlbC9ncmFwaC9HbG9iYWxNb2R1bGVOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhEQUE0RTtBQUM1RSwyQ0FBNkQ7QUFTN0QsTUFBYSxvQkFBb0I7SUFDL0IsWUFBcUIsR0FBb0IsRUFBVyxTQUFzQjtRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUFXLGNBQVMsR0FBVCxTQUFTLENBQWE7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUEwQjtRQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7ZUFDMUIsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxVQUFVLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0NBQ0Y7QUFaRCxvREFZQztBQUVELE1BQWEsZ0JBQWdCO0lBTzNCLFlBQVksT0FBZ0M7UUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBc0I7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBUyxDQUFDLElBQUkscUJBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBdEJELDRDQXNCQyJ9
|
|
@@ -21,10 +21,10 @@ class GlobalModuleNodeBuilder {
|
|
|
21
21
|
}
|
|
22
22
|
addMultiInstanceClazz(clazz, defineModuleName, defineUnitPath) {
|
|
23
23
|
const protos = ProtoDescriptorHelper_1.ProtoDescriptorHelper.createByMultiInstanceClazz(clazz, {
|
|
24
|
-
moduleName: this.name,
|
|
25
|
-
unitPath: this.unitPath,
|
|
26
24
|
defineModuleName,
|
|
27
25
|
defineUnitPath,
|
|
26
|
+
instanceModuleName: this.name,
|
|
27
|
+
instanceDefineUnitPath: this.unitPath,
|
|
28
28
|
});
|
|
29
29
|
this.protos.push(...protos);
|
|
30
30
|
return this;
|
|
@@ -50,4 +50,4 @@ class GlobalModuleNodeBuilder {
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
exports.GlobalModuleNodeBuilder = GlobalModuleNodeBuilder;
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBQStFO0FBQy9FLDhEQUEyRDtBQUMzRCxvRUFBaUU7QUFFakUsTUFBYSx1QkFBdUI7SUFNbEMsWUFBWSxPQUFnQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXdCO1FBQy9CLE1BQU0sS0FBSyxHQUFHLDZDQUFxQixDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRTtZQUMvRCxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQXdCLEVBQUUsZ0JBQXdCLEVBQUUsY0FBc0I7UUFDOUYsTUFBTSxNQUFNLEdBQUcsNkNBQXFCLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFO1lBQ3JFLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDN0Isc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQztZQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBZ0IsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUM5QyxNQUFNLElBQUksR0FBRyxtQ0FBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksdUJBQXVCLENBQUM7WUFDakMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBckRELDBEQXFEQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GraphNodeObj, ProtoDescriptor } from '@eggjs/tegg-types';
|
|
2
2
|
import { ProtoSelectorContext } from './ProtoSelector';
|
|
3
|
-
import { EdgeMeta
|
|
3
|
+
import { EdgeMeta } from '@eggjs/tegg-common-util';
|
|
4
4
|
export declare class ProtoDependencyMeta implements EdgeMeta {
|
|
5
5
|
injectObj: PropertyKey;
|
|
6
6
|
constructor({ injectObj, }: {
|
|
@@ -17,5 +17,3 @@ export declare class ProtoNode implements GraphNodeObj {
|
|
|
17
17
|
selectProto(ctx: ProtoSelectorContext): boolean;
|
|
18
18
|
static createProtoId(proto: ProtoDescriptor): string;
|
|
19
19
|
}
|
|
20
|
-
export type ProtoGraph = Graph<ProtoNode, ProtoDependencyMeta>;
|
|
21
|
-
export type ProtoGraphNode = GraphNode<ProtoNode, ProtoDependencyMeta>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/tegg-metadata",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.59.0",
|
|
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.
|
|
39
|
-
"@eggjs/tegg-common-util": "^3.
|
|
40
|
-
"@eggjs/tegg-lifecycle": "^3.
|
|
41
|
-
"@eggjs/tegg-types": "^3.
|
|
38
|
+
"@eggjs/core-decorator": "^3.59.0",
|
|
39
|
+
"@eggjs/tegg-common-util": "^3.59.0",
|
|
40
|
+
"@eggjs/tegg-lifecycle": "^3.59.0",
|
|
41
|
+
"@eggjs/tegg-types": "^3.59.0",
|
|
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": "9cf5b1c8b164eafd0b0a1ce471eb8baaf3933cf6"
|
|
58
58
|
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { InjectType, QualifierAttribute } from '@eggjs/core-decorator';
|
|
2
|
-
import type { AccessLevel, EggProtoImplClass, EggPrototype, EggPrototypeLifecycleContext, EggPrototypeName, Id, InjectConstructorProto, InjectObjectProto, MetaDataKey, ObjectInitTypeLike, QualifierInfo, QualifierValue } from '@eggjs/tegg-types';
|
|
3
|
-
export declare class EggInnerObjectPrototypeImpl implements EggPrototype {
|
|
4
|
-
private readonly clazz;
|
|
5
|
-
private readonly qualifiers;
|
|
6
|
-
readonly filepath: string;
|
|
7
|
-
readonly id: string;
|
|
8
|
-
readonly name: EggPrototypeName;
|
|
9
|
-
readonly initType: ObjectInitTypeLike;
|
|
10
|
-
readonly accessLevel: AccessLevel;
|
|
11
|
-
readonly injectObjects: Array<InjectObjectProto | InjectConstructorProto>;
|
|
12
|
-
readonly injectType: InjectType;
|
|
13
|
-
readonly loadUnitId: Id;
|
|
14
|
-
readonly className?: string;
|
|
15
|
-
readonly multiInstanceConstructorIndex?: number;
|
|
16
|
-
readonly multiInstanceConstructorAttributes?: QualifierAttribute[];
|
|
17
|
-
constructor(id: string, name: EggPrototypeName, clazz: EggProtoImplClass, filepath: string, initType: ObjectInitTypeLike, accessLevel: AccessLevel, injectObjectMap: Array<InjectObjectProto | InjectConstructorProto>, loadUnitId: Id, qualifiers: QualifierInfo[], className?: string, injectType?: InjectType, multiInstanceConstructorIndex?: number, multiInstanceConstructorAttributes?: QualifierAttribute[]);
|
|
18
|
-
verifyQualifiers(qualifiers: QualifierInfo[]): boolean;
|
|
19
|
-
verifyQualifier(qualifier: QualifierInfo): boolean;
|
|
20
|
-
getQualifier(attribute: string): QualifierValue | undefined;
|
|
21
|
-
constructEggObject(...args: any): object;
|
|
22
|
-
getMetaData<T>(metadataKey: MetaDataKey): T | undefined;
|
|
23
|
-
static create(ctx: EggPrototypeLifecycleContext): EggInnerObjectPrototypeImpl;
|
|
24
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
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.EggInnerObjectPrototypeImpl = void 0;
|
|
7
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
9
|
-
const InjectObjectPrototypeFinder_1 = require("./InjectObjectPrototypeFinder");
|
|
10
|
-
const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
|
|
11
|
-
const EggPrototypeCreatorFactory_1 = require("../factory/EggPrototypeCreatorFactory");
|
|
12
|
-
class EggInnerObjectPrototypeImpl {
|
|
13
|
-
constructor(id, name, clazz, filepath, initType, accessLevel, injectObjectMap, loadUnitId, qualifiers, className, injectType, multiInstanceConstructorIndex, multiInstanceConstructorAttributes) {
|
|
14
|
-
this.id = id;
|
|
15
|
-
this.clazz = clazz;
|
|
16
|
-
this.name = name;
|
|
17
|
-
this.filepath = filepath;
|
|
18
|
-
this.initType = initType;
|
|
19
|
-
this.accessLevel = accessLevel;
|
|
20
|
-
this.injectObjects = injectObjectMap;
|
|
21
|
-
this.loadUnitId = loadUnitId;
|
|
22
|
-
this.qualifiers = qualifiers;
|
|
23
|
-
this.className = className;
|
|
24
|
-
this.injectType = injectType || core_decorator_1.InjectType.PROPERTY;
|
|
25
|
-
this.multiInstanceConstructorIndex = multiInstanceConstructorIndex;
|
|
26
|
-
this.multiInstanceConstructorAttributes = multiInstanceConstructorAttributes;
|
|
27
|
-
}
|
|
28
|
-
verifyQualifiers(qualifiers) {
|
|
29
|
-
for (const qualifier of qualifiers) {
|
|
30
|
-
if (!this.verifyQualifier(qualifier)) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
|
-
verifyQualifier(qualifier) {
|
|
37
|
-
const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
|
|
38
|
-
return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
|
|
39
|
-
}
|
|
40
|
-
getQualifier(attribute) {
|
|
41
|
-
var _a;
|
|
42
|
-
return (_a = this.qualifiers.find(t => t.attribute === attribute)) === null || _a === void 0 ? void 0 : _a.value;
|
|
43
|
-
}
|
|
44
|
-
constructEggObject(...args) {
|
|
45
|
-
return Reflect.construct(this.clazz, args);
|
|
46
|
-
}
|
|
47
|
-
getMetaData(metadataKey) {
|
|
48
|
-
return core_decorator_1.MetadataUtil.getMetaData(metadataKey, this.clazz);
|
|
49
|
-
}
|
|
50
|
-
static create(ctx) {
|
|
51
|
-
var _a, _b;
|
|
52
|
-
const { clazz, loadUnit } = ctx;
|
|
53
|
-
const filepath = core_decorator_1.PrototypeUtil.getFilePath(clazz);
|
|
54
|
-
(0, node_assert_1.default)(filepath, 'not find filepath');
|
|
55
|
-
const name = ctx.prototypeInfo.name;
|
|
56
|
-
const className = ctx.prototypeInfo.className;
|
|
57
|
-
const initType = ctx.prototypeInfo.initType;
|
|
58
|
-
const accessLevel = ctx.prototypeInfo.accessLevel;
|
|
59
|
-
const injectType = core_decorator_1.PrototypeUtil.getInjectType(clazz);
|
|
60
|
-
const injectObjects = core_decorator_1.PrototypeUtil.getInjectObjects(clazz) || [];
|
|
61
|
-
const qualifiers = core_decorator_1.QualifierUtil.mergeQualifiers(core_decorator_1.QualifierUtil.getProtoQualifiers(clazz), ((_a = ctx.prototypeInfo.qualifiers) !== null && _a !== void 0 ? _a : []));
|
|
62
|
-
const properQualifiers = (_b = ctx.prototypeInfo.properQualifiers) !== null && _b !== void 0 ? _b : {};
|
|
63
|
-
const multiInstanceConstructorIndex = core_decorator_1.PrototypeUtil.getMultiInstanceConstructorIndex(clazz);
|
|
64
|
-
const multiInstanceConstructorAttributes = core_decorator_1.PrototypeUtil.getMultiInstanceConstructorAttributes(clazz);
|
|
65
|
-
const injectObjectProtos = InjectObjectPrototypeFinder_1.InjectObjectPrototypeFinder.findInjectObjectPrototypes({
|
|
66
|
-
clazz,
|
|
67
|
-
loadUnit,
|
|
68
|
-
properQualifiers,
|
|
69
|
-
initType,
|
|
70
|
-
injectType,
|
|
71
|
-
injectObjects,
|
|
72
|
-
});
|
|
73
|
-
const id = tegg_lifecycle_1.IdenticalUtil.createProtoId(loadUnit.id, name);
|
|
74
|
-
return new EggInnerObjectPrototypeImpl(id, name, clazz, filepath, initType, accessLevel, injectObjectProtos, loadUnit.id, qualifiers, className, injectType, multiInstanceConstructorIndex, multiInstanceConstructorAttributes);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
exports.EggInnerObjectPrototypeImpl = EggInnerObjectPrototypeImpl;
|
|
78
|
-
EggPrototypeCreatorFactory_1.EggPrototypeCreatorFactory.registerPrototypeCreator(core_decorator_1.EGG_INNER_OBJECT_PROTO_IMPL_TYPE, EggInnerObjectPrototypeImpl.create);
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnSW5uZXJPYmplY3RQcm90b3R5cGVJbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltcGwvRWdnSW5uZXJPYmplY3RQcm90b3R5cGVJbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDhEQUFpQztBQUNqQywwREFPK0I7QUFlL0IsK0VBQTRFO0FBQzVFLDBEQUFzRDtBQUN0RCxzRkFBbUY7QUFFbkYsTUFBYSwyQkFBMkI7SUFnQnRDLFlBQ0UsRUFBVSxFQUNWLElBQXNCLEVBQ3RCLEtBQXdCLEVBQ3hCLFFBQWdCLEVBQ2hCLFFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGVBQWtFLEVBQ2xFLFVBQWMsRUFDZCxVQUEyQixFQUMzQixTQUFrQixFQUNsQixVQUF1QixFQUN2Qiw2QkFBc0MsRUFDdEMsa0NBQXlEO1FBRXpELElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksMkJBQVUsQ0FBQyxRQUFRLENBQUM7UUFDcEQsSUFBSSxDQUFDLDZCQUE2QixHQUFHLDZCQUE2QixDQUFDO1FBQ25FLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxrQ0FBa0MsQ0FBQztJ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
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { EggProtoImplClass, InjectConstructor, InjectConstructorProto, InjectObject, type InjectObjectProto, InjectType, LoadUnit, type ObjectInitTypeLike, QualifierInfo } from '@eggjs/tegg-types';
|
|
2
|
-
interface EggProtoInfo {
|
|
3
|
-
clazz: EggProtoImplClass;
|
|
4
|
-
loadUnit: LoadUnit;
|
|
5
|
-
properQualifiers: Record<PropertyKey, QualifierInfo[]>;
|
|
6
|
-
initType: ObjectInitTypeLike;
|
|
7
|
-
injectType?: InjectType;
|
|
8
|
-
injectObjects: Array<InjectObject | InjectConstructor>;
|
|
9
|
-
}
|
|
10
|
-
export declare class InjectObjectPrototypeFinder {
|
|
11
|
-
private static tryFindDefaultPrototype;
|
|
12
|
-
private static tryFindContextPrototype;
|
|
13
|
-
private static tryFindSelfInitTypePrototype;
|
|
14
|
-
private static findInjectObjectPrototype;
|
|
15
|
-
static findInjectObjectPrototypes(targetProto: EggProtoInfo): (InjectObjectProto | InjectConstructorProto)[];
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InjectObjectPrototypeFinder = void 0;
|
|
4
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
5
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
6
|
-
const EggPrototypeFactory_1 = require("../factory/EggPrototypeFactory");
|
|
7
|
-
const errors_1 = require("../errors");
|
|
8
|
-
class InjectObjectPrototypeFinder {
|
|
9
|
-
static tryFindDefaultPrototype(proto, injectObject) {
|
|
10
|
-
var _a;
|
|
11
|
-
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(proto.clazz, injectObject.refName);
|
|
12
|
-
const multiInstancePropertyQualifiers = (_a = proto.properQualifiers[injectObject.refName]) !== null && _a !== void 0 ? _a : [];
|
|
13
|
-
return EggPrototypeFactory_1.EggPrototypeFactory.instance.getPrototype(injectObject.objName, proto.loadUnit, core_decorator_1.QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers));
|
|
14
|
-
}
|
|
15
|
-
static tryFindContextPrototype(proto, injectObject) {
|
|
16
|
-
var _a;
|
|
17
|
-
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(proto.clazz, injectObject.refName);
|
|
18
|
-
const multiInstancePropertyQualifiers = (_a = proto.properQualifiers[injectObject.refName]) !== null && _a !== void 0 ? _a : [];
|
|
19
|
-
return EggPrototypeFactory_1.EggPrototypeFactory.instance.getPrototype(injectObject.objName, proto.loadUnit, core_decorator_1.QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers, [{
|
|
20
|
-
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
21
|
-
value: tegg_types_1.ObjectInitType.CONTEXT,
|
|
22
|
-
}]));
|
|
23
|
-
}
|
|
24
|
-
static tryFindSelfInitTypePrototype(proto, injectObject) {
|
|
25
|
-
var _a;
|
|
26
|
-
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(proto.clazz, injectObject.refName);
|
|
27
|
-
const multiInstancePropertyQualifiers = (_a = proto.properQualifiers[injectObject.refName]) !== null && _a !== void 0 ? _a : [];
|
|
28
|
-
return EggPrototypeFactory_1.EggPrototypeFactory.instance.getPrototype(injectObject.objName, proto.loadUnit, core_decorator_1.QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers, [{
|
|
29
|
-
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
30
|
-
value: proto.initType,
|
|
31
|
-
}]));
|
|
32
|
-
}
|
|
33
|
-
static findInjectObjectPrototype(proto, injectObject) {
|
|
34
|
-
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(proto.clazz, injectObject.refName);
|
|
35
|
-
try {
|
|
36
|
-
return InjectObjectPrototypeFinder.tryFindDefaultPrototype(proto, injectObject);
|
|
37
|
-
}
|
|
38
|
-
catch (e) {
|
|
39
|
-
if (!(e instanceof errors_1.MultiPrototypeFound && !propertyQualifiers.find(t => t.attribute === tegg_types_1.InitTypeQualifierAttribute))) {
|
|
40
|
-
throw e;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
try {
|
|
44
|
-
return InjectObjectPrototypeFinder.tryFindContextPrototype(proto, injectObject);
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
if (!(e instanceof errors_1.EggPrototypeNotFound)) {
|
|
48
|
-
throw e;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return InjectObjectPrototypeFinder.tryFindSelfInitTypePrototype(proto, injectObject);
|
|
52
|
-
}
|
|
53
|
-
static findInjectObjectPrototypes(targetProto) {
|
|
54
|
-
const injectObjectProtos = [];
|
|
55
|
-
for (const injectObject of targetProto.injectObjects) {
|
|
56
|
-
const propertyQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(targetProto.clazz, injectObject.refName);
|
|
57
|
-
try {
|
|
58
|
-
const proto = InjectObjectPrototypeFinder.findInjectObjectPrototype(targetProto, injectObject);
|
|
59
|
-
let injectObjectProto;
|
|
60
|
-
if (targetProto.injectType === tegg_types_1.InjectType.PROPERTY) {
|
|
61
|
-
injectObjectProto = {
|
|
62
|
-
refName: injectObject.refName,
|
|
63
|
-
objName: injectObject.objName,
|
|
64
|
-
qualifiers: propertyQualifiers,
|
|
65
|
-
proto,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
injectObjectProto = {
|
|
70
|
-
refIndex: injectObject.refIndex,
|
|
71
|
-
refName: injectObject.refName,
|
|
72
|
-
objName: injectObject.objName,
|
|
73
|
-
qualifiers: propertyQualifiers,
|
|
74
|
-
proto,
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
if (injectObject.optional) {
|
|
78
|
-
injectObject.optional = true;
|
|
79
|
-
}
|
|
80
|
-
injectObjectProtos.push(injectObjectProto);
|
|
81
|
-
}
|
|
82
|
-
catch (e) {
|
|
83
|
-
if (e instanceof errors_1.EggPrototypeNotFound && injectObject.optional) {
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
throw e;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return injectObjectProtos;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
exports.InjectObjectPrototypeFinder = InjectObjectPrototypeFinder;
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5qZWN0T2JqZWN0UHJvdG90eXBlRmluZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltcGwvSW5qZWN0T2JqZWN0UHJvdG90eXBlRmluZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtEQWEyQjtBQUMzQiwwREFBc0Q7QUFDdEQsd0VBQXFFO0FBQ3JFLHNDQUFzRTtBQVd0RSxNQUFhLDJCQUEyQjtJQUM5QixNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBbUIsRUFBRSxZQUE4Qzs7UUFDeEcsTUFBTSxrQkFBa0IsR0FBRyw4QkFBYSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sK0JBQStCLEdBQUcsTUFBQSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE9BQWlCLENBQUMsbUNBQUksRUFBRSxDQUFDO1FBQ3JHLE9BQU8seUNBQW1CLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsOEJBQWEsQ0FBQyxlQUFlLENBQ2xILGtCQUFrQixFQUNsQiwrQkFBK0IsQ0FDaEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFtQixFQUFFLFlBQThDOztRQUN4RyxNQUFNLGtCQUFrQixHQUFHLDhCQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEcsTUFBTSwrQkFBK0IsR0FBRyxNQUFBLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsT0FBaUIsQ0FBQyxtQ0FBSSxFQUFFLENBQUM7UUFDckcsT0FBTyx5Q0FBbUIsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLFFB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
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { InjectObjectDescriptor, ProtoDescriptor } from '@eggjs/tegg-types';
|
|
2
|
-
import { ProtoGraph, ProtoGraphNode } from './ProtoNode';
|
|
3
|
-
export declare class ProtoGraphUtils {
|
|
4
|
-
#private;
|
|
5
|
-
static findDependencyProtoNode(graph: ProtoGraph, proto: ProtoDescriptor, injectObject: InjectObjectDescriptor): ProtoGraphNode | undefined;
|
|
6
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
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 _a, _ProtoGraphUtils_findDependencyProtoWithDefaultQualifiers;
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.ProtoGraphUtils = void 0;
|
|
10
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
11
|
-
const egg_errors_1 = require("egg-errors");
|
|
12
|
-
const errors_1 = require("../../errors");
|
|
13
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
14
|
-
class ProtoGraphUtils {
|
|
15
|
-
static findDependencyProtoNode(graph, proto, injectObject) {
|
|
16
|
-
// 1. find proto with request
|
|
17
|
-
// 2. try to add Context qualifier to find
|
|
18
|
-
// 3. try to add self init type qualifier to find
|
|
19
|
-
const protos = __classPrivateFieldGet(_a, _a, "m", _ProtoGraphUtils_findDependencyProtoWithDefaultQualifiers).call(_a, graph, proto, injectObject, []);
|
|
20
|
-
if (protos.length === 0) {
|
|
21
|
-
return;
|
|
22
|
-
// throw FrameworkErrorFormater.formatError(new EggPrototypeNotFound(injectObject.objName, proto.instanceModuleName));
|
|
23
|
-
}
|
|
24
|
-
if (protos.length === 1) {
|
|
25
|
-
return protos[0];
|
|
26
|
-
}
|
|
27
|
-
const protoWithContext = __classPrivateFieldGet(_a, _a, "m", _ProtoGraphUtils_findDependencyProtoWithDefaultQualifiers).call(_a, graph, proto, injectObject, [{
|
|
28
|
-
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
29
|
-
value: tegg_types_1.ObjectInitType.CONTEXT,
|
|
30
|
-
}]);
|
|
31
|
-
if (protoWithContext.length === 1) {
|
|
32
|
-
return protoWithContext[0];
|
|
33
|
-
}
|
|
34
|
-
const protoWithSelfInitType = __classPrivateFieldGet(_a, _a, "m", _ProtoGraphUtils_findDependencyProtoWithDefaultQualifiers).call(_a, graph, proto, injectObject, [{
|
|
35
|
-
attribute: tegg_types_1.InitTypeQualifierAttribute,
|
|
36
|
-
value: proto.initType,
|
|
37
|
-
}]);
|
|
38
|
-
if (protoWithSelfInitType.length === 1) {
|
|
39
|
-
return protoWithSelfInitType[0];
|
|
40
|
-
}
|
|
41
|
-
const loadUnitQualifier = injectObject.qualifiers.find(t => t.attribute === tegg_types_1.LoadUnitNameQualifierAttribute);
|
|
42
|
-
if (!loadUnitQualifier) {
|
|
43
|
-
return _a.findDependencyProtoNode(graph, proto, {
|
|
44
|
-
...injectObject,
|
|
45
|
-
qualifiers: core_decorator_1.QualifierUtil.mergeQualifiers(injectObject.qualifiers, [{
|
|
46
|
-
attribute: tegg_types_1.LoadUnitNameQualifierAttribute,
|
|
47
|
-
value: proto.instanceModuleName,
|
|
48
|
-
}]),
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
throw egg_errors_1.FrameworkErrorFormater.formatError(new errors_1.MultiPrototypeFound(injectObject.objName, injectObject.qualifiers));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.ProtoGraphUtils = ProtoGraphUtils;
|
|
55
|
-
_a = ProtoGraphUtils, _ProtoGraphUtils_findDependencyProtoWithDefaultQualifiers = function _ProtoGraphUtils_findDependencyProtoWithDefaultQualifiers(graph, proto, injectObject, qualifiers) {
|
|
56
|
-
// TODO perf O(n(proto count)*m(inject count)*n)
|
|
57
|
-
const result = [];
|
|
58
|
-
for (const node of graph.nodes.values()) {
|
|
59
|
-
const ctx = {
|
|
60
|
-
name: injectObject.objName,
|
|
61
|
-
qualifiers: core_decorator_1.QualifierUtil.mergeQualifiers(injectObject.qualifiers, qualifiers),
|
|
62
|
-
moduleName: proto.instanceModuleName,
|
|
63
|
-
};
|
|
64
|
-
if (node.val.selectProto(ctx)) {
|
|
65
|
-
result.push(node);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return result;
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9HcmFwaFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vZGVsL2dyYXBoL1Byb3RvR3JhcGhVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxrREFPMkI7QUFHM0IsMkNBQW9EO0FBQ3BELHlDQUFtRDtBQUNuRCwwREFBc0Q7QUFHdEQsTUFBYSxlQUFlO0lBQzFCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUFpQixFQUFFLEtBQXNCLEVBQUUsWUFBb0M7UUFDNUcsNkJBQTZCO1FBQzdCLDBDQUEwQztRQUMxQyxpREFBaUQ7UUFDakQsTUFBTSxNQUFNLEdBQUcsdUJBQUEsRUFBZSxxRUFBMEMsTUFBekQsRUFBZSxFQUEyQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsT0FBTztZQUNQLHNIQUFzSDtRQUN4SCxDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLGdCQUFnQixHQUFHLHVCQUFBLEVBQWUscUVBQTBDLE1BQXpELEVBQWUsRUFBMkMsS0FBSyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQztnQkFDOUcsU0FBUyxFQUFFLHVDQUEwQjtnQkFDckMsS0FBSyxFQUFFLDJCQUFjLENBQUMsT0FBTzthQUM5QixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUVELE1BQU0scUJBQXFCLEdBQUcsdUJBQUEsRUFBZSxxRUFBMEMsTUFBekQsRUFBZSxFQUEyQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDO2dCQUNuSCxTQUFTLEVBQUUsdUNBQTBCO2dCQUNyQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVE7YUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFDRCxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSywyQ0FBOEIsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sRUFBZSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUU7Z0JBQzNELEdBQUcsWUFBWTtnQkFDZixVQUFVLEVBQUUsOEJBQWEsQ0FBQyxlQUFlLENBQ3ZDLFlBQVksQ0FBQyxVQUFVLEVBQ3ZCLENBQUM7d0JBQ0MsU0FBUyxFQUFFLDJDQUE4Qjt3QkFDekMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7cUJBQ2hDLENBQUMsQ0FDSDthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLG1DQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLDRCQUFtQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztDQWlCRjtBQTVERCwwQ0E0REM7cUpBZmtELEtBQWlCLEVBQUUsS0FBc0IsRUFBRSxZQUFvQyxFQUFFLFVBQTJCO0lBQzNKLGdEQUFnRDtJQUNoRCxNQUFNLE1BQU0sR0FBZ0QsRUFBRSxDQUFDO0lBQy9ELEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ3hDLE1BQU0sR0FBRyxHQUF5QjtZQUNoQyxJQUFJLEVBQUUsWUFBWSxDQUFDLE9BQU87WUFDMUIsVUFBVSxFQUFFLDhCQUFhLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO1lBQzlFLFVBQVUsRUFBRSxLQUFLLENBQUMsa0JBQWtCO1NBQ3JDLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMifQ==
|