@eggjs/tegg-metadata 4.0.0-beta.7 → 4.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/errors.d.ts +10 -14
- package/dist/errors.js +27 -29
- package/dist/factory/EggPrototypeCreatorFactory.d.ts +8 -12
- package/dist/factory/EggPrototypeCreatorFactory.js +108 -95
- package/dist/factory/EggPrototypeFactory.d.ts +8 -12
- package/dist/factory/EggPrototypeFactory.js +51 -40
- package/dist/factory/LoadUnitFactory.d.ts +11 -15
- package/dist/factory/LoadUnitFactory.js +59 -58
- package/dist/factory/index.d.ts +3 -0
- package/dist/factory/index.js +4 -5
- package/dist/impl/EggPrototypeBuilder.d.ts +21 -25
- package/dist/impl/EggPrototypeBuilder.js +122 -113
- package/dist/impl/EggPrototypeImpl.d.ts +23 -27
- package/dist/impl/EggPrototypeImpl.js +53 -52
- package/dist/impl/LoadUnitMultiInstanceProtoHook.d.ts +6 -10
- package/dist/impl/LoadUnitMultiInstanceProtoHook.js +18 -16
- package/dist/impl/ModuleLoadUnit.d.ts +33 -36
- package/dist/impl/ModuleLoadUnit.js +265 -208
- package/dist/impl/index.d.ts +4 -0
- package/dist/impl/index.js +5 -6
- package/dist/index.d.ts +6 -23
- package/dist/index.js +7 -28
- package/dist/model/AppGraph.d.ts +35 -38
- package/dist/model/AppGraph.js +260 -191
- package/dist/model/EggPrototype.d.ts +3 -7
- package/dist/model/EggPrototype.js +3 -7
- package/dist/model/LoadUnit.d.ts +3 -7
- package/dist/model/LoadUnit.js +3 -7
- package/dist/model/ModuleDescriptor.d.ts +15 -19
- package/dist/model/ModuleDescriptor.js +38 -32
- package/dist/model/ProtoDescriptor/AbstractProtoDescriptor.d.ts +30 -34
- package/dist/model/ProtoDescriptor/AbstractProtoDescriptor.js +31 -35
- package/dist/model/ProtoDescriptor/ClassProtoDescriptor.d.ts +10 -14
- package/dist/model/ProtoDescriptor/ClassProtoDescriptor.js +29 -26
- package/dist/model/ProtoDescriptor/index.d.ts +2 -0
- package/dist/model/ProtoDescriptor/index.js +3 -4
- package/dist/model/ProtoDescriptorHelper.d.ts +25 -29
- package/dist/model/ProtoDescriptorHelper.js +130 -113
- package/dist/model/graph/GlobalGraph.d.ts +48 -52
- package/dist/model/graph/GlobalGraph.js +229 -172
- package/dist/model/graph/GlobalModuleNode.d.ts +22 -26
- package/dist/model/graph/GlobalModuleNode.js +39 -42
- package/dist/model/graph/GlobalModuleNodeBuilder.d.ts +12 -16
- package/dist/model/graph/GlobalModuleNodeBuilder.js +52 -54
- package/dist/model/graph/ProtoNode.d.ts +16 -22
- package/dist/model/graph/ProtoNode.js +39 -42
- package/dist/model/graph/ProtoSelector.d.ts +5 -9
- package/dist/model/graph/ProtoSelector.js +2 -3
- package/dist/model/graph/index.d.ts +5 -0
- package/dist/model/graph/index.js +6 -7
- package/dist/model/index.d.ts +7 -0
- package/dist/model/index.js +8 -15
- package/dist/util/ClassUtil.d.ts +4 -8
- package/dist/util/ClassUtil.js +17 -18
- package/dist/util/index.d.ts +1 -0
- package/dist/util/index.js +2 -3
- package/package.json +6 -6
|
@@ -1,176 +1,233 @@
|
|
|
1
|
+
import { debuglog } from 'node:util';
|
|
2
|
+
import { Graph, GraphNode } from '@eggjs/tegg-common-util';
|
|
3
|
+
import { InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ObjectInitType, } from '@eggjs/tegg-types';
|
|
4
|
+
import { FrameworkErrorFormater } from 'egg-errors';
|
|
5
|
+
import { QualifierUtil } from '@eggjs/core-decorator';
|
|
1
6
|
import { EggPrototypeNotFound, MultiPrototypeFound } from "../../errors.js";
|
|
7
|
+
import { ModuleDependencyMeta, GlobalModuleNode } from "./GlobalModuleNode.js";
|
|
2
8
|
import { ProtoDependencyMeta, ProtoNode } from "./ProtoNode.js";
|
|
3
|
-
import { ModuleDependencyMeta } from "./GlobalModuleNode.js";
|
|
4
9
|
import { GlobalModuleNodeBuilder } from "./GlobalModuleNodeBuilder.js";
|
|
5
|
-
|
|
6
|
-
import { InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ObjectInitType } from "@eggjs/tegg-types";
|
|
7
|
-
import { FrameworkErrorFormater } from "egg-errors";
|
|
8
|
-
import { debuglog } from "node:util";
|
|
9
|
-
import { QualifierUtil } from "@eggjs/core-decorator";
|
|
10
|
-
|
|
11
|
-
//#region src/model/graph/GlobalGraph.ts
|
|
12
|
-
const debug = debuglog("tegg/core/metadata/model/graph/GlobalGraph");
|
|
10
|
+
const debug = debuglog('tegg/core/metadata/model/graph/GlobalGraph');
|
|
13
11
|
/**
|
|
14
|
-
* Sort all prototypes and modules in app.
|
|
15
|
-
* - 1. LoaderFactory.loadApp: get ModuleDescriptors
|
|
16
|
-
* - 2. GlobalGraph.create: create global graph instance
|
|
17
|
-
* - 3. graph.build:
|
|
18
|
-
* - check duplicated prototypes exits
|
|
19
|
-
* - check inject object exists (only in strict mode,
|
|
20
|
-
* can register proto in hooks now, in next major version,
|
|
21
|
-
* should use load to create dynamic ProtoDescriptor and delete
|
|
22
|
-
* strict false options
|
|
23
|
-
* )
|
|
24
|
-
* - 4. graph.sort: build moduleConfigList and moduleProtoDescriptorMap
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
12
|
+
* Sort all prototypes and modules in app.
|
|
13
|
+
* - 1. LoaderFactory.loadApp: get ModuleDescriptors
|
|
14
|
+
* - 2. GlobalGraph.create: create global graph instance
|
|
15
|
+
* - 3. graph.build:
|
|
16
|
+
* - check duplicated prototypes exits
|
|
17
|
+
* - check inject object exists (only in strict mode,
|
|
18
|
+
* can register proto in hooks now, in next major version,
|
|
19
|
+
* should use load to create dynamic ProtoDescriptor and delete
|
|
20
|
+
* strict false options
|
|
21
|
+
* )
|
|
22
|
+
* - 4. graph.sort: build moduleConfigList and moduleProtoDescriptorMap
|
|
23
|
+
*/
|
|
24
|
+
export class GlobalGraph {
|
|
25
|
+
/**
|
|
26
|
+
* Vertex: ModuleNode, collect prototypes in module
|
|
27
|
+
* Edge: ModuleDependencyMeta, prototype and it's inject object
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
moduleGraph;
|
|
31
|
+
/**
|
|
32
|
+
* Vertex: ProtoNode, collect all prototypes in app
|
|
33
|
+
* Edge: ProtoDependencyMeta, inject object
|
|
34
|
+
* @private
|
|
35
|
+
*/
|
|
36
|
+
protoGraph;
|
|
37
|
+
/**
|
|
38
|
+
* The order of the moduleConfigList is the order in which they are instantiated
|
|
39
|
+
*/
|
|
40
|
+
moduleConfigList;
|
|
41
|
+
/**
|
|
42
|
+
* key: module name
|
|
43
|
+
* value: ProtoDescriptor in module, the order is the order in which they are instantiated
|
|
44
|
+
*/
|
|
45
|
+
moduleProtoDescriptorMap;
|
|
46
|
+
strict;
|
|
47
|
+
buildHooks;
|
|
48
|
+
/**
|
|
49
|
+
* The global instance used in ModuleLoadUnit
|
|
50
|
+
*/
|
|
51
|
+
static instance;
|
|
52
|
+
constructor(options) {
|
|
53
|
+
this.moduleGraph = new Graph();
|
|
54
|
+
this.protoGraph = new Graph();
|
|
55
|
+
this.strict = options?.strict ?? false;
|
|
56
|
+
this.moduleProtoDescriptorMap = new Map();
|
|
57
|
+
this.buildHooks = [];
|
|
58
|
+
}
|
|
59
|
+
registerBuildHook(hook) {
|
|
60
|
+
this.buildHooks.push(hook);
|
|
61
|
+
}
|
|
62
|
+
addModuleNode(moduleNode) {
|
|
63
|
+
if (!this.moduleGraph.addVertex(new GraphNode(moduleNode))) {
|
|
64
|
+
throw new Error(`duplicate module: ${moduleNode}`);
|
|
65
|
+
}
|
|
66
|
+
for (const protoNode of moduleNode.protos) {
|
|
67
|
+
if (!this.protoGraph.addVertex(protoNode)) {
|
|
68
|
+
throw new Error(`duplicate proto: ${protoNode.val}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
build() {
|
|
73
|
+
for (const moduleNode of this.moduleGraph.nodes.values()) {
|
|
74
|
+
for (const protoNode of moduleNode.val.protos) {
|
|
75
|
+
for (const injectObj of protoNode.val.proto.injectObjects) {
|
|
76
|
+
this.buildInjectEdge(moduleNode, protoNode, injectObj);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
for (const buildHook of this.buildHooks) {
|
|
81
|
+
buildHook(this);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
buildInjectEdge(moduleNode, protoNode, injectObj) {
|
|
85
|
+
const injectProto = this.findDependencyProtoNode(protoNode.val.proto, injectObj);
|
|
86
|
+
if (!injectProto) {
|
|
87
|
+
if (!this.strict) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
throw FrameworkErrorFormater.formatError(new EggPrototypeNotFound(injectObj.objName, protoNode.val.proto.instanceModuleName));
|
|
91
|
+
}
|
|
92
|
+
this.addInject(moduleNode, protoNode, injectProto, injectObj.objName);
|
|
93
|
+
}
|
|
94
|
+
addInject(moduleNode, protoNode, injectNode, injectName) {
|
|
95
|
+
this.protoGraph.addEdge(protoNode, injectNode, new ProtoDependencyMeta({
|
|
96
|
+
injectObj: injectName,
|
|
97
|
+
}));
|
|
98
|
+
const injectModule = this.findModuleNode(injectNode.val.proto.instanceModuleName);
|
|
99
|
+
if (!injectModule) {
|
|
100
|
+
if (!this.strict) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
throw new Error(`not found module ${injectNode.val.proto.instanceModuleName}`);
|
|
104
|
+
}
|
|
105
|
+
if (moduleNode.val.id !== injectModule.val.id) {
|
|
106
|
+
this.moduleGraph.addEdge(moduleNode, injectModule, new ModuleDependencyMeta(protoNode.val.proto, injectName));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
findInjectProto(proto, injectObject) {
|
|
110
|
+
const edge = this.protoGraph.findToNode(ProtoNode.createProtoId(proto), new ProtoDependencyMeta({
|
|
111
|
+
injectObj: injectObject.objName,
|
|
112
|
+
}));
|
|
113
|
+
return edge?.val.proto;
|
|
114
|
+
}
|
|
115
|
+
#findDependencyProtoWithDefaultQualifiers(proto, injectObject, qualifiers) {
|
|
116
|
+
// TODO perf O(n(proto count)*m(inject count)*n)
|
|
117
|
+
const result = [];
|
|
118
|
+
for (const node of this.protoGraph.nodes.values()) {
|
|
119
|
+
if (node.val.selectProto({
|
|
120
|
+
name: injectObject.objName,
|
|
121
|
+
qualifiers: QualifierUtil.mergeQualifiers(injectObject.qualifiers, qualifiers),
|
|
122
|
+
moduleName: proto.instanceModuleName,
|
|
123
|
+
})) {
|
|
124
|
+
result.push(node);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return result;
|
|
128
|
+
}
|
|
129
|
+
findDependencyProtoNode(proto, injectObject) {
|
|
130
|
+
// 1. find proto with request
|
|
131
|
+
// 2. try to add Context qualifier to find
|
|
132
|
+
// 3. try to add self init type qualifier to find
|
|
133
|
+
const protos = this.#findDependencyProtoWithDefaultQualifiers(proto, injectObject, []);
|
|
134
|
+
if (protos.length === 0) {
|
|
135
|
+
return;
|
|
136
|
+
// throw FrameworkErrorFormater.formatError(new EggPrototypeNotFound(injectObject.objName, proto.instanceModuleName));
|
|
137
|
+
}
|
|
138
|
+
if (protos.length === 1) {
|
|
139
|
+
return protos[0];
|
|
140
|
+
}
|
|
141
|
+
const protoWithContext = this.#findDependencyProtoWithDefaultQualifiers(proto, injectObject, [{
|
|
142
|
+
attribute: InitTypeQualifierAttribute,
|
|
143
|
+
value: ObjectInitType.CONTEXT,
|
|
144
|
+
}]);
|
|
145
|
+
if (protoWithContext.length === 1) {
|
|
146
|
+
return protoWithContext[0];
|
|
147
|
+
}
|
|
148
|
+
const protoWithSelfInitType = this.#findDependencyProtoWithDefaultQualifiers(proto, injectObject, [{
|
|
149
|
+
attribute: InitTypeQualifierAttribute,
|
|
150
|
+
value: proto.initType,
|
|
151
|
+
}]);
|
|
152
|
+
if (protoWithSelfInitType.length === 1) {
|
|
153
|
+
return protoWithSelfInitType[0];
|
|
154
|
+
}
|
|
155
|
+
const loadUnitQualifier = injectObject.qualifiers.find(t => t.attribute === LoadUnitNameQualifierAttribute);
|
|
156
|
+
if (!loadUnitQualifier) {
|
|
157
|
+
return this.findDependencyProtoNode(proto, {
|
|
158
|
+
...injectObject,
|
|
159
|
+
qualifiers: QualifierUtil.mergeQualifiers(injectObject.qualifiers, [{
|
|
160
|
+
attribute: LoadUnitNameQualifierAttribute,
|
|
161
|
+
value: proto.instanceModuleName,
|
|
162
|
+
}]),
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
throw FrameworkErrorFormater.formatError(new MultiPrototypeFound(injectObject.objName, injectObject.qualifiers));
|
|
166
|
+
}
|
|
167
|
+
findModuleNode(moduleName) {
|
|
168
|
+
for (const node of this.moduleGraph.nodes.values()) {
|
|
169
|
+
if (node.val.name === moduleName) {
|
|
170
|
+
return node;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
#sortModule() {
|
|
175
|
+
const loopPath = this.moduleGraph.loopPath();
|
|
176
|
+
if (loopPath) {
|
|
177
|
+
throw new Error('module has recursive deps: ' + loopPath);
|
|
178
|
+
}
|
|
179
|
+
debug('sortModule, loopPath: %o', loopPath);
|
|
180
|
+
this.moduleConfigList = this.moduleGraph.sort()
|
|
181
|
+
.filter(t => {
|
|
182
|
+
return t.val.optional !== true || t.fromNodeMap.size > 0;
|
|
183
|
+
})
|
|
184
|
+
.map(t => {
|
|
185
|
+
return {
|
|
186
|
+
name: t.val.name,
|
|
187
|
+
path: t.val.unitPath,
|
|
188
|
+
optional: t.val.optional,
|
|
189
|
+
};
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
#sortClazz() {
|
|
193
|
+
const loopPath = this.protoGraph.loopPath();
|
|
194
|
+
if (loopPath) {
|
|
195
|
+
throw new Error('proto has recursive deps: ' + loopPath);
|
|
196
|
+
}
|
|
197
|
+
debug('sortClazz, loopPath: %o', loopPath);
|
|
198
|
+
for (const proto of this.protoGraph.sort()) {
|
|
199
|
+
// // ignore the proto has no dependent
|
|
200
|
+
// if (proto.fromNodeMap.size === 0) continue;
|
|
201
|
+
const instanceModuleName = proto.val.proto.instanceModuleName;
|
|
202
|
+
let moduleProtoList = this.moduleProtoDescriptorMap.get(instanceModuleName);
|
|
203
|
+
if (!moduleProtoList) {
|
|
204
|
+
moduleProtoList = [];
|
|
205
|
+
this.moduleProtoDescriptorMap.set(instanceModuleName, moduleProtoList);
|
|
206
|
+
}
|
|
207
|
+
moduleProtoList.push(proto.val.proto);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
sort() {
|
|
211
|
+
this.#sortModule();
|
|
212
|
+
this.#sortClazz();
|
|
213
|
+
}
|
|
214
|
+
static async create(moduleDescriptors, options) {
|
|
215
|
+
const graph = new GlobalGraph(options);
|
|
216
|
+
for (const moduleDescriptor of moduleDescriptors) {
|
|
217
|
+
const moduleNodeBuilder = new GlobalModuleNodeBuilder({
|
|
218
|
+
name: moduleDescriptor.name,
|
|
219
|
+
unitPath: moduleDescriptor.unitPath,
|
|
220
|
+
optional: moduleDescriptor.optional ?? false,
|
|
221
|
+
});
|
|
222
|
+
for (const clazz of moduleDescriptor.clazzList) {
|
|
223
|
+
moduleNodeBuilder.addClazz(clazz);
|
|
224
|
+
}
|
|
225
|
+
for (const clazz of moduleDescriptor.multiInstanceClazzList) {
|
|
226
|
+
await moduleNodeBuilder.addMultiInstanceClazz(clazz, moduleDescriptor.name, moduleDescriptor.unitPath);
|
|
227
|
+
}
|
|
228
|
+
graph.addModuleNode(moduleNodeBuilder.build());
|
|
229
|
+
}
|
|
230
|
+
return graph;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBd0IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQ0wsMEJBQTBCLEVBQ0csOEJBQThCLEVBQzNELGNBQWMsR0FHZixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3ZFLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0FBVXJFOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBQ3RCOzs7O09BSUc7SUFDSCxXQUFXLENBQWdEO0lBQzNEOzs7O09BSUc7SUFDSCxVQUFVLENBQXdDO0lBQ2xEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQTZCO0lBQzdDOzs7T0FHRztJQUNILHdCQUF3QixDQUFpQztJQUN6RCxNQUFNLENBQVU7SUFDUixVQUFVLENBQXlCO0lBRTNDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBZTtJQUU5QixZQUFZLE9BQTRCO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxLQUFLLEVBQTBDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssRUFBa0MsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUEwQjtRQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQTRCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBeUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25HLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3pELEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDOUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsVUFBNkQsRUFBRSxTQUFvRCxFQUFFLFNBQWlDO1FBQ3BLLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDakIsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ2hJLENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsU0FBUyxDQUNQLFVBQTZELEVBQzdELFNBQW9ELEVBQ3BELFVBQXFELEVBQ3JELFVBQXVCO1FBRXZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxtQkFBbUIsQ0FBQztZQUNyRSxTQUFTLEVBQUUsVUFBVTtTQUN0QixDQUFDLENBQUMsQ0FBQztRQUNKLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDakIsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUNELElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLElBQUksb0JBQW9CLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNoSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFzQixFQUFFLFlBQW9DO1FBQzFFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxtQkFBbUIsQ0FBQztZQUM5RixTQUFTLEVBQUUsWUFBWSxDQUFDLE9BQU87U0FDaEMsQ0FBQyxDQUFDLENBQUM7UUFDSixPQUFPLElBQUksRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCx5Q0FBeUMsQ0FBQyxLQUFzQixFQUFFLFlBQW9DLEVBQUUsVUFBMkI7UUFDakksZ0RBQWdEO1FBQ2hELE1BQU0sTUFBTSxHQUFnRCxFQUFFLENBQUM7UUFDL0QsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ2xELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxZQUFZLENBQUMsT0FBTztnQkFDMUIsVUFBVSxFQUFFLGFBQWEsQ0FBQyxlQUFlLENBQ3ZDLFlBQVksQ0FBQyxVQUFVLEVBQ3ZCLFVBQVUsQ0FDWDtnQkFDRCxVQUFVLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjthQUNyQyxDQUFDLEVBQUUsQ0FBQztnQkFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELHVCQUF1QixDQUFDLEtBQXNCLEVBQUUsWUFBb0M7UUFDbEYsNkJBQTZCO1FBQzdCLDBDQUEwQztRQUMxQyxpREFBaUQ7UUFDakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLHlDQUF5QyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkYsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU87WUFDUCxzSEFBc0g7UUFDeEgsQ0FBQztRQUNELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMseUNBQXlDLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDO2dCQUM1RixTQUFTLEVBQUUsMEJBQTBCO2dCQUNyQyxLQUFLLEVBQUUsY0FBYyxDQUFDLE9BQU87YUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyx5Q0FBeUMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUM7Z0JBQ2pHLFNBQVMsRUFBRSwwQkFBMEI7Z0JBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUTthQUN0QixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUkscUJBQXFCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLE9BQU8scUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLDhCQUE4QixDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFO2dCQUN6QyxHQUFHLFlBQVk7Z0JBQ2YsVUFBVSxFQUFFLGFBQWEsQ0FBQyxlQUFlLENBQ3ZDLFlBQVksQ0FBQyxVQUFVLEVBQ3ZCLENBQUM7d0JBQ0MsU0FBUyxFQUFFLDhCQUE4Qjt3QkFDekMsS0FBSyxFQUFFLEtBQUssQ0FBQyxrQkFBa0I7cUJBQ2hDLENBQUMsQ0FDSDthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDbkgsQ0FBQztJQUVELGNBQWMsQ0FBQyxVQUFrQjtRQUMvQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDbkQsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsS0FBSyxDQUFDLDBCQUEwQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTthQUM1QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1AsT0FBTztnQkFDTCxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJO2dCQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRO2dCQUNwQixRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRO2FBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsS0FBSyxDQUFDLHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQzNDLHVDQUF1QztZQUN2Qyw4Q0FBOEM7WUFDOUMsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztZQUM5RCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDNUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNyQixlQUFlLEdBQUcsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7WUFDRCxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQXFDLEVBQUUsT0FBNEI7UUFDckYsTUFBTSxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHVCQUF1QixDQUFDO2dCQUNwRCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtnQkFDM0IsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFFBQVE7Z0JBQ25DLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksS0FBSzthQUM3QyxDQUFDLENBQUM7WUFDSCxLQUFLLE1BQU0sS0FBSyxJQUFJLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELEtBQUssTUFBTSxLQUFLLElBQUksZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQkFDNUQsTUFBTSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pHLENBQUM7WUFDRCxLQUFLLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIn0=
|
|
@@ -1,29 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
unitPath: string;
|
|
9
|
-
optional: boolean;
|
|
1
|
+
import { GraphNode, type GraphNodeObj, type EdgeMeta } from '@eggjs/tegg-common-util';
|
|
2
|
+
import { type ProtoDescriptor } from '@eggjs/tegg-types';
|
|
3
|
+
import { ProtoDependencyMeta, ProtoNode } from './ProtoNode.ts';
|
|
4
|
+
export interface GlobalModuleNodeOptions {
|
|
5
|
+
name: string;
|
|
6
|
+
unitPath: string;
|
|
7
|
+
optional: boolean;
|
|
10
8
|
}
|
|
11
|
-
declare class ModuleDependencyMeta implements EdgeMeta {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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;
|
|
17
15
|
}
|
|
18
|
-
declare class GlobalModuleNode implements GraphNodeObj {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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;
|
|
27
25
|
}
|
|
28
|
-
//#endregion
|
|
29
|
-
export { GlobalModuleNode, GlobalModuleNodeOptions, ModuleDependencyMeta };
|
|
@@ -1,42 +1,39 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import "
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
//#endregion
|
|
42
|
-
export { GlobalModuleNode, ModuleDependencyMeta };
|
|
1
|
+
import { GraphNode } from '@eggjs/tegg-common-util';
|
|
2
|
+
import {} from '@eggjs/tegg-types';
|
|
3
|
+
import { ProtoDependencyMeta, ProtoNode } from "./ProtoNode.js";
|
|
4
|
+
export class ModuleDependencyMeta {
|
|
5
|
+
obj;
|
|
6
|
+
injectObj;
|
|
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
|
+
export class GlobalModuleNode {
|
|
20
|
+
id;
|
|
21
|
+
name;
|
|
22
|
+
unitPath;
|
|
23
|
+
optional;
|
|
24
|
+
protos;
|
|
25
|
+
constructor(options) {
|
|
26
|
+
this.id = options.unitPath;
|
|
27
|
+
this.name = options.name;
|
|
28
|
+
this.unitPath = options.unitPath;
|
|
29
|
+
this.optional = options.optional;
|
|
30
|
+
this.protos = [];
|
|
31
|
+
}
|
|
32
|
+
addProto(proto) {
|
|
33
|
+
this.protos.push(new GraphNode(new ProtoNode(proto)));
|
|
34
|
+
}
|
|
35
|
+
toString() {
|
|
36
|
+
return `${this.name}@${this.unitPath}`;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9ncmFwaC9HbG9iYWxNb2R1bGVOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9DLE1BQU0seUJBQXlCLENBQUM7QUFDdEYsT0FBTyxFQUF3QixNQUFNLG1CQUFtQixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVFoRSxNQUFNLE9BQU8sb0JBQW9CO0lBQ3RCLEdBQUcsQ0FBa0I7SUFDckIsU0FBUyxDQUFjO0lBRWhDLFlBQVksR0FBb0IsRUFBRSxTQUFzQjtRQUN0RCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBMEI7UUFDOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2VBQzFCLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sVUFBVSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDNUUsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixFQUFFLENBQVM7SUFDWCxJQUFJLENBQVM7SUFDYixRQUFRLENBQVM7SUFDakIsUUFBUSxDQUFVO0lBQ2xCLE1BQU0sQ0FBOEM7SUFFN0QsWUFBWSxPQUFnQztRQUMxQyxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQjtRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGIn0=
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
build(): GlobalModuleNode;
|
|
14
|
-
static create(unitPath: string, optional?: boolean): GlobalModuleNodeBuilder;
|
|
1
|
+
import { type EggProtoImplClass } from '@eggjs/tegg-types';
|
|
2
|
+
import { GlobalModuleNode, type GlobalModuleNodeOptions } from './GlobalModuleNode.ts';
|
|
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): Promise<this>;
|
|
11
|
+
build(): GlobalModuleNode;
|
|
12
|
+
static create(unitPath: string, optional?: boolean): GlobalModuleNodeBuilder;
|
|
15
13
|
}
|
|
16
|
-
//#endregion
|
|
17
|
-
export { GlobalModuleNodeBuilder };
|