@eggjs/tegg-metadata 4.0.0-beta.3 → 4.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/README.md +12 -0
  2. package/dist/errors.d.ts +18 -0
  3. package/dist/errors.js +29 -0
  4. package/dist/factory/EggPrototypeCreatorFactory.d.ts +13 -0
  5. package/dist/factory/EggPrototypeCreatorFactory.js +95 -0
  6. package/dist/factory/EggPrototypeFactory.d.ts +13 -0
  7. package/dist/factory/EggPrototypeFactory.js +41 -0
  8. package/dist/factory/LoadUnitFactory.d.ts +16 -0
  9. package/dist/factory/LoadUnitFactory.js +58 -0
  10. package/dist/factory/index.js +5 -0
  11. package/dist/impl/EggPrototypeBuilder.d.ts +26 -0
  12. package/dist/impl/EggPrototypeBuilder.js +115 -0
  13. package/dist/impl/EggPrototypeImpl.d.ts +28 -0
  14. package/dist/impl/EggPrototypeImpl.js +52 -0
  15. package/dist/impl/LoadUnitMultiInstanceProtoHook.d.ts +11 -0
  16. package/dist/impl/LoadUnitMultiInstanceProtoHook.js +16 -0
  17. package/dist/impl/ModuleLoadUnit.d.ts +38 -0
  18. package/dist/impl/ModuleLoadUnit.js +211 -0
  19. package/dist/impl/index.js +6 -0
  20. package/dist/index.d.ts +23 -0
  21. package/dist/index.js +28 -0
  22. package/dist/model/AppGraph.d.ts +42 -0
  23. package/dist/model/AppGraph.js +195 -0
  24. package/dist/model/EggPrototype.d.ts +7 -0
  25. package/dist/model/EggPrototype.js +7 -0
  26. package/dist/model/LoadUnit.d.ts +7 -0
  27. package/dist/model/LoadUnit.js +7 -0
  28. package/dist/model/ModuleDescriptor.d.ts +22 -0
  29. package/dist/model/ModuleDescriptor.js +33 -0
  30. package/dist/model/ProtoDescriptor/AbstractProtoDescriptor.d.ts +36 -0
  31. package/dist/model/ProtoDescriptor/AbstractProtoDescriptor.js +35 -0
  32. package/dist/model/ProtoDescriptor/ClassProtoDescriptor.d.ts +16 -0
  33. package/dist/model/ProtoDescriptor/ClassProtoDescriptor.js +27 -0
  34. package/dist/model/ProtoDescriptor/index.js +4 -0
  35. package/dist/model/ProtoDescriptorHelper.d.ts +30 -0
  36. package/dist/model/ProtoDescriptorHelper.js +113 -0
  37. package/dist/model/graph/GlobalGraph.d.ts +67 -0
  38. package/dist/model/graph/GlobalGraph.js +176 -0
  39. package/dist/model/graph/GlobalModuleNode.d.ts +29 -0
  40. package/dist/model/graph/GlobalModuleNode.js +42 -0
  41. package/dist/model/graph/GlobalModuleNodeBuilder.d.ts +17 -0
  42. package/dist/model/graph/GlobalModuleNodeBuilder.js +56 -0
  43. package/dist/model/graph/ProtoNode.d.ts +25 -0
  44. package/dist/model/graph/ProtoNode.js +43 -0
  45. package/dist/model/graph/ProtoSelector.d.ts +10 -0
  46. package/dist/model/graph/ProtoSelector.js +3 -0
  47. package/dist/model/graph/index.js +7 -0
  48. package/dist/model/index.js +15 -0
  49. package/dist/util/ClassUtil.d.ts +9 -0
  50. package/dist/util/ClassUtil.js +18 -0
  51. package/dist/util/index.js +3 -0
  52. package/package.json +27 -26
  53. package/src/errors.d.ts +0 -14
  54. package/src/errors.js +0 -27
  55. package/src/factory/EggPrototypeCreatorFactory.d.ts +0 -9
  56. package/src/factory/EggPrototypeCreatorFactory.js +0 -103
  57. package/src/factory/EggPrototypeFactory.d.ts +0 -9
  58. package/src/factory/EggPrototypeFactory.js +0 -52
  59. package/src/factory/LoadUnitFactory.d.ts +0 -12
  60. package/src/factory/LoadUnitFactory.js +0 -59
  61. package/src/factory/index.d.ts +0 -3
  62. package/src/factory/index.js +0 -4
  63. package/src/impl/EggPrototypeBuilder.d.ts +0 -22
  64. package/src/impl/EggPrototypeBuilder.js +0 -124
  65. package/src/impl/EggPrototypeImpl.d.ts +0 -24
  66. package/src/impl/EggPrototypeImpl.js +0 -53
  67. package/src/impl/LoadUnitMultiInstanceProtoHook.d.ts +0 -7
  68. package/src/impl/LoadUnitMultiInstanceProtoHook.js +0 -18
  69. package/src/impl/ModuleLoadUnit.d.ts +0 -35
  70. package/src/impl/ModuleLoadUnit.js +0 -268
  71. package/src/impl/index.d.ts +0 -4
  72. package/src/impl/index.js +0 -5
  73. package/src/index.d.ts +0 -6
  74. package/src/index.js +0 -7
  75. package/src/model/AppGraph.d.ts +0 -39
  76. package/src/model/AppGraph.js +0 -264
  77. package/src/model/EggPrototype.d.ts +0 -3
  78. package/src/model/EggPrototype.js +0 -3
  79. package/src/model/LoadUnit.d.ts +0 -3
  80. package/src/model/LoadUnit.js +0 -3
  81. package/src/model/ModuleDescriptor.d.ts +0 -18
  82. package/src/model/ModuleDescriptor.js +0 -38
  83. package/src/model/ProtoDescriptor/AbstractProtoDescriptor.d.ts +0 -32
  84. package/src/model/ProtoDescriptor/AbstractProtoDescriptor.js +0 -30
  85. package/src/model/ProtoDescriptor/ClassProtoDescriptor.d.ts +0 -12
  86. package/src/model/ProtoDescriptor/ClassProtoDescriptor.js +0 -30
  87. package/src/model/ProtoDescriptor/index.d.ts +0 -2
  88. package/src/model/ProtoDescriptor/index.js +0 -3
  89. package/src/model/ProtoDescriptorHelper.d.ts +0 -26
  90. package/src/model/ProtoDescriptorHelper.js +0 -129
  91. package/src/model/graph/GlobalGraph.d.ts +0 -63
  92. package/src/model/graph/GlobalGraph.js +0 -233
  93. package/src/model/graph/GlobalModuleNode.d.ts +0 -25
  94. package/src/model/graph/GlobalModuleNode.js +0 -38
  95. package/src/model/graph/GlobalModuleNodeBuilder.d.ts +0 -13
  96. package/src/model/graph/GlobalModuleNodeBuilder.js +0 -53
  97. package/src/model/graph/ProtoNode.d.ts +0 -19
  98. package/src/model/graph/ProtoNode.js +0 -37
  99. package/src/model/graph/ProtoSelector.d.ts +0 -6
  100. package/src/model/graph/ProtoSelector.js +0 -2
  101. package/src/model/graph/index.d.ts +0 -5
  102. package/src/model/graph/index.js +0 -6
  103. package/src/model/index.d.ts +0 -7
  104. package/src/model/index.js +0 -8
  105. package/src/util/ClassUtil.d.ts +0 -5
  106. package/src/util/ClassUtil.js +0 -17
  107. package/src/util/index.d.ts +0 -1
  108. package/src/util/index.js +0 -2
@@ -1,264 +0,0 @@
1
- import assert from 'node:assert';
2
- import util from 'node:util';
3
- import { Graph, GraphNode, ModuleConfigUtil } from '@eggjs/tegg-common-util';
4
- import { PrototypeUtil, QualifierUtil } from '@eggjs/core-decorator';
5
- import { AccessLevel, INIT_TYPE_TRY_ORDER, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute } from '@eggjs/tegg-types';
6
- function verifyQualifier(clazzQualifiers, qualifier) {
7
- const selfQualifiers = clazzQualifiers.find(t => t.attribute === qualifier.attribute);
8
- return selfQualifiers?.value === qualifier.value;
9
- }
10
- function verifyQualifiers(clazzQualifiers, qualifiers) {
11
- for (const qualifier of qualifiers) {
12
- if (!verifyQualifier(clazzQualifiers, qualifier)) {
13
- return false;
14
- }
15
- }
16
- return true;
17
- }
18
- export class ClazzMap {
19
- clazzMap;
20
- graph;
21
- constructor(graph) {
22
- this.graph = graph;
23
- }
24
- async build() {
25
- const graph = this.graph;
26
- /**
27
- * 1. iterate all module get all MultiInstanceClazz
28
- * 2. iterate MultiInstanceClazz and all module get object meta
29
- * 3. iterate object meta and build clazz map
30
- */
31
- const clazzMap = {};
32
- for (const ownerNode of graph.nodes.values()) {
33
- for (const clazz of ownerNode.val.getClazzList()) {
34
- const qualifiers = QualifierUtil.getProtoQualifiers(clazz);
35
- if (PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
36
- for (const instanceNode of graph.nodes.values()) {
37
- const property = await PrototypeUtil.getMultiInstanceProperty(clazz, {
38
- unitPath: instanceNode.val.moduleConfig.path,
39
- moduleName: instanceNode.val.moduleConfig.name,
40
- });
41
- assert(property, `multi instance property not found for ${clazz.name}`);
42
- for (const info of property.objects) {
43
- const instanceQualifiers = [
44
- ...qualifiers,
45
- ...info.qualifiers,
46
- ];
47
- clazzMap[info.name] = clazzMap[info.name] || [];
48
- clazzMap[info.name].push({
49
- name: info.name,
50
- accessLevel: await PrototypeUtil.getAccessLevel(clazz, {
51
- unitPath: instanceNode.val.moduleConfig.path,
52
- moduleName: instanceNode.val.moduleConfig.name,
53
- }),
54
- qualifiers: instanceQualifiers,
55
- properQualifiers: info.properQualifiers || {},
56
- instanceModule: instanceNode,
57
- ownerModule: ownerNode,
58
- });
59
- }
60
- }
61
- }
62
- else {
63
- const property = PrototypeUtil.getProperty(clazz);
64
- assert(property, `property not found for ${clazz.name}`);
65
- clazzMap[property.name] = clazzMap[property.name] || [];
66
- clazzMap[property.name].push({
67
- name: property.name,
68
- accessLevel: await PrototypeUtil.getAccessLevel(clazz, {
69
- unitPath: ownerNode.val.moduleConfig.path,
70
- moduleName: ownerNode.val.moduleConfig.name,
71
- }),
72
- qualifiers,
73
- properQualifiers: {},
74
- ownerModule: ownerNode,
75
- instanceModule: ownerNode,
76
- });
77
- }
78
- }
79
- }
80
- this.clazzMap = clazzMap;
81
- }
82
- findDependencyModule(objName, properQualifiers, intoModule) {
83
- const result = new Set();
84
- const objInfo = this.clazzMap[objName];
85
- if (!objInfo) {
86
- return [];
87
- }
88
- let mayObjs = objInfo.filter(obj => {
89
- // 1. check accessLevel
90
- if (obj.instanceModule !== intoModule && obj.accessLevel === AccessLevel.PRIVATE) {
91
- return false;
92
- }
93
- // 2. check qualifier
94
- return verifyQualifiers(obj.qualifiers, properQualifiers);
95
- });
96
- // 3. auto set init type qualifier
97
- if (mayObjs.length > 1) {
98
- const initTypeQualifiers = INIT_TYPE_TRY_ORDER.map(type => ({
99
- attribute: InitTypeQualifierAttribute,
100
- value: type,
101
- }));
102
- for (const initTypeQualifier of initTypeQualifiers) {
103
- const mayInitTypeObjs = mayObjs.filter(obj => {
104
- return verifyQualifiers(obj.qualifiers, [
105
- ...properQualifiers,
106
- initTypeQualifier,
107
- ]);
108
- });
109
- if (mayInitTypeObjs.length > 0) {
110
- mayObjs = mayInitTypeObjs;
111
- }
112
- }
113
- }
114
- // 4. auto set load unit name qualifier
115
- if (mayObjs.length > 1) {
116
- const moduleNameQualifiers = {
117
- attribute: LoadUnitNameQualifierAttribute,
118
- value: intoModule.val.name,
119
- };
120
- const mayLoadUnitNameObjs = mayObjs.filter(obj => {
121
- return verifyQualifiers(obj.qualifiers, [
122
- ...properQualifiers,
123
- moduleNameQualifiers,
124
- ]);
125
- });
126
- if (mayLoadUnitNameObjs.length > 0) {
127
- mayObjs = mayLoadUnitNameObjs;
128
- }
129
- }
130
- if (mayObjs.length > 1) {
131
- const message = util.format('multi class found for %s@%o in module %j', objName, properQualifiers, mayObjs.map(t => {
132
- return t.instanceModule.val.moduleConfig.path;
133
- }));
134
- throw new Error(message);
135
- }
136
- for (const obj of mayObjs) {
137
- result.add(obj.instanceModule);
138
- // result.add(obj.ownerModule);
139
- }
140
- return Array.from(result);
141
- }
142
- }
143
- export class ModuleNode {
144
- id;
145
- name;
146
- moduleConfig;
147
- clazzList;
148
- constructor(moduleConfig) {
149
- this.moduleConfig = moduleConfig;
150
- this.id = moduleConfig.path;
151
- this.name = ModuleConfigUtil.readModuleNameSync(moduleConfig.path);
152
- this.clazzList = [];
153
- }
154
- async addClazz(clazz) {
155
- if (!this.clazzList.includes(clazz)) {
156
- this.clazzList.push(clazz);
157
- }
158
- if (!PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
159
- const initTypeQualifierAttributeValue = await PrototypeUtil.getInitType(clazz, {
160
- unitPath: this.moduleConfig.path,
161
- moduleName: this.moduleConfig.name,
162
- });
163
- const defaultQualifier = [{
164
- attribute: InitTypeQualifierAttribute,
165
- value: initTypeQualifierAttributeValue,
166
- }, {
167
- attribute: LoadUnitNameQualifierAttribute,
168
- value: this.name,
169
- }];
170
- for (const qualifier of defaultQualifier) {
171
- QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
172
- }
173
- }
174
- }
175
- toString() {
176
- return `${this.name}@${this.moduleConfig.path}`;
177
- }
178
- getClazzList() {
179
- return this.clazzList;
180
- }
181
- }
182
- export class AppGraph {
183
- graph;
184
- clazzMap;
185
- moduleConfigList;
186
- constructor() {
187
- this.graph = new Graph();
188
- }
189
- addNode(moduleNode) {
190
- if (!this.graph.addVertex(new GraphNode(moduleNode))) {
191
- throw new Error(`duplicate module: ${moduleNode}`);
192
- }
193
- }
194
- getClazzList() {
195
- const clazzSet = new Set();
196
- for (const node of this.graph.nodes.values()) {
197
- for (const clazz of node.val.getClazzList()) {
198
- clazzSet.add(clazz);
199
- }
200
- }
201
- return Array.from(clazzSet);
202
- }
203
- async build() {
204
- this.clazzMap = new ClazzMap(this.graph);
205
- await this.clazzMap.build();
206
- // 1. iterate all modules
207
- for (const node of this.graph.nodes.values()) {
208
- // 2. iterate all class
209
- for (const clazz of node.val.getClazzList()) {
210
- const injectObjects = PrototypeUtil.getInjectObjects(clazz);
211
- // 3. iterate all inject objects
212
- for (const injectObject of injectObjects) {
213
- if (PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
214
- for (const instanceNode of this.graph.nodes.values()) {
215
- const property = await PrototypeUtil.getMultiInstanceProperty(clazz, {
216
- unitPath: instanceNode.val.moduleConfig.path,
217
- moduleName: instanceNode.val.moduleConfig.name,
218
- });
219
- for (const info of property?.objects || []) {
220
- const properQualifiers = [
221
- ...QualifierUtil.getProperQualifiers(clazz, injectObject.refName),
222
- ...info.properQualifiers?.[injectObject.refName] ?? [],
223
- ];
224
- // 4. find dependency module
225
- const dependencyModules = this.clazzMap.findDependencyModule(injectObject.objName, properQualifiers, node);
226
- for (const moduleNode of dependencyModules) {
227
- // 5. add edge
228
- if (instanceNode !== moduleNode) {
229
- this.graph.addEdge(instanceNode, moduleNode);
230
- }
231
- }
232
- }
233
- }
234
- }
235
- else {
236
- const properQualifiers = [
237
- ...QualifierUtil.getProperQualifiers(clazz, injectObject.refName),
238
- ];
239
- // 4. find dependency module
240
- const dependencyModules = this.clazzMap.findDependencyModule(injectObject.objName, properQualifiers, node);
241
- for (const moduleNode of dependencyModules) {
242
- // 5. add edge
243
- if (node !== moduleNode) {
244
- this.graph.addEdge(node, moduleNode);
245
- }
246
- }
247
- }
248
- }
249
- }
250
- }
251
- }
252
- sort() {
253
- const loopPath = this.graph.loopPath();
254
- if (loopPath) {
255
- throw new Error('module has recursive deps: ' + loopPath);
256
- }
257
- this.moduleConfigList = this.graph.sort()
258
- .filter(t => {
259
- return t.val.moduleConfig.optional !== true || t.fromNodeMap.size > 0;
260
- })
261
- .map(t => t.val.moduleConfig);
262
- }
263
- }
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBcHBHcmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDakMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFjakksU0FBUyxlQUFlLENBQUMsZUFBZ0MsRUFBRSxTQUF3QjtJQUNqRixNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEYsT0FBTyxjQUFjLEVBQUUsS0FBSyxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7QUFDbkQsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsZUFBZ0MsRUFBRSxVQUEyQjtJQUNyRixLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDakQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sT0FBTyxRQUFRO0lBQ1gsUUFBUSxDQUFlO0lBQ3ZCLEtBQUssQ0FBb0I7SUFFakMsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFD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
@@ -1,3 +0,0 @@
1
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
- import type { EggPrototype, EggPrototypeLifecycleContext } from '@eggjs/tegg-types';
3
- export declare const EggPrototypeLifecycleUtil: LifecycleUtil<EggPrototypeLifecycleContext, EggPrototype>;
@@ -1,3 +0,0 @@
1
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
- export const EggPrototypeLifecycleUtil = new LifecycleUtil();
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnUHJvdG90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLGFBQWEsRUFBOEMsQ0FBQyJ9
@@ -1,3 +0,0 @@
1
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
- import type { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-types';
3
- export declare const LoadUnitLifecycleUtil: LifecycleUtil<LoadUnitLifecycleContext, LoadUnit>;
@@ -1,3 +0,0 @@
1
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
- export const LoadUnitLifecycleUtil = new LifecycleUtil();
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJMb2FkVW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxhQUFhLEVBQXNDLENBQUMifQ==
@@ -1,18 +0,0 @@
1
- import { EggProtoImplClass, ProtoDescriptor } from '@eggjs/tegg-types';
2
- export interface ModuleDescriptor {
3
- name: string;
4
- unitPath: string;
5
- optional?: boolean;
6
- clazzList: EggProtoImplClass[];
7
- multiInstanceClazzList: EggProtoImplClass[];
8
- protos: ProtoDescriptor[];
9
- }
10
- export interface ModuleDumpOptions {
11
- dumpDir?: string;
12
- }
13
- export declare class ModuleDescriptorDumper {
14
- static stringifyDescriptor(moduleDescriptor: ModuleDescriptor): string;
15
- static stringifyClazz(clazz: EggProtoImplClass, moduleDescriptor: ModuleDescriptor): string;
16
- static dumpPath(desc: ModuleDescriptor, options?: ModuleDumpOptions): string;
17
- static dump(desc: ModuleDescriptor, options?: ModuleDumpOptions): Promise<void>;
18
- }
@@ -1,38 +0,0 @@
1
- import path from 'node:path';
2
- import fs from 'node:fs/promises';
3
- import { PrototypeUtil } from '@eggjs/core-decorator';
4
- const DUMP_PATH = process.env.MODULE_DUMP_PATH;
5
- export class ModuleDescriptorDumper {
6
- static stringifyDescriptor(moduleDescriptor) {
7
- return '{'
8
- + `"name": "${moduleDescriptor.name}",`
9
- + `"unitPath": "${moduleDescriptor.unitPath}",`
10
- + (typeof moduleDescriptor.optional !== 'undefined' ? `"optional": ${moduleDescriptor.optional},` : '')
11
- + `"clazzList": [${moduleDescriptor.clazzList.map(t => {
12
- return ModuleDescriptorDumper.stringifyClazz(t, moduleDescriptor);
13
- }).join(',')}],`
14
- + `"multiInstanceClazzList": [${moduleDescriptor.multiInstanceClazzList.map(t => {
15
- return ModuleDescriptorDumper.stringifyClazz(t, moduleDescriptor);
16
- }).join(',')}],`
17
- + `"protos": [${moduleDescriptor.protos.map(t => {
18
- return JSON.stringify(t);
19
- }).join(',')}]`
20
- + '}';
21
- }
22
- static stringifyClazz(clazz, moduleDescriptor) {
23
- return '{'
24
- + `"name": "${clazz.name}",`
25
- + (PrototypeUtil.getFilePath(clazz) ? `"filePath": "${path.relative(moduleDescriptor.unitPath, PrototypeUtil.getFilePath(clazz))}"` : '')
26
- + '}';
27
- }
28
- static dumpPath(desc, options) {
29
- const dumpDir = DUMP_PATH ?? options?.dumpDir ?? desc.unitPath;
30
- return path.join(dumpDir, '.egg', `${desc.name}_module_desc.json`);
31
- }
32
- static async dump(desc, options) {
33
- const dumpPath = ModuleDescriptorDumper.dumpPath(desc, options);
34
- await fs.mkdir(path.dirname(dumpPath), { recursive: true });
35
- await fs.writeFile(dumpPath, ModuleDescriptorDumper.stringifyDescriptor(desc));
36
- }
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlRGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZHVsZURlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0FBZS9DLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFrQztRQUMzRCxPQUFPLEdBQUc7Y0FDTixZQUFZLGdCQUFnQixDQUFDLElBQUksSUFBSTtjQUNyQyxnQkFBZ0IsZ0JBQWdCLENBQUMsUUFBUSxJQUFJO2NBQzdDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxlQUFlLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Y0FDckcsaUJBQWlCLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLDhCQUE4QixnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlFLE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLGNBQWMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztjQUNiLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXdCLEVBQUUsZ0JBQWtDO1FBQ2hGLE9BQU8sR0FBRztjQUNOLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSTtjQUMxQixDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2NBQ3hJLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQXNCLEVBQUUsT0FBMkI7UUFDakUsTUFBTSxPQUFPLEdBQUcsU0FBUyxJQUFJLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQXNCLEVBQUUsT0FBMkI7UUFDbkUsTUFBTSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsc0JBQXNCLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0NBQ0YifQ==
@@ -1,32 +0,0 @@
1
- import { AccessLevel, InjectObjectDescriptor, ObjectInitTypeLike, ProtoDescriptor, ProtoDescriptorTypeLike, QualifierInfo } from '@eggjs/tegg-types';
2
- export interface AbstractProtoDescriptorOptions {
3
- name: PropertyKey;
4
- accessLevel: AccessLevel;
5
- initType: ObjectInitTypeLike;
6
- qualifiers: QualifierInfo[];
7
- protoImplType: string;
8
- injectObjects: InjectObjectDescriptor[];
9
- defineModuleName: string;
10
- defineUnitPath: string;
11
- instanceModuleName: string;
12
- instanceDefineUnitPath: string;
13
- type: ProtoDescriptorTypeLike;
14
- properQualifiers: Record<PropertyKey, QualifierInfo[]>;
15
- }
16
- export declare abstract class AbstractProtoDescriptor implements ProtoDescriptor {
17
- name: PropertyKey;
18
- accessLevel: AccessLevel;
19
- initType: ObjectInitTypeLike;
20
- qualifiers: QualifierInfo[];
21
- injectObjects: InjectObjectDescriptor[];
22
- protoImplType: string;
23
- defineModuleName: string;
24
- defineUnitPath: string;
25
- instanceModuleName: string;
26
- instanceDefineUnitPath: string;
27
- className?: string;
28
- properQualifiers: Record<PropertyKey, QualifierInfo[]>;
29
- type: ProtoDescriptorTypeLike;
30
- protected constructor(options: AbstractProtoDescriptorOptions);
31
- abstract equal(protoDescriptor: ProtoDescriptor): boolean;
32
- }
@@ -1,30 +0,0 @@
1
- export class AbstractProtoDescriptor {
2
- name;
3
- accessLevel;
4
- initType;
5
- qualifiers;
6
- injectObjects;
7
- protoImplType;
8
- defineModuleName;
9
- defineUnitPath;
10
- instanceModuleName;
11
- instanceDefineUnitPath;
12
- className;
13
- properQualifiers;
14
- type;
15
- constructor(options) {
16
- this.name = options.name;
17
- this.accessLevel = options.accessLevel;
18
- this.initType = options.initType;
19
- this.qualifiers = options.qualifiers;
20
- this.protoImplType = options.protoImplType;
21
- this.injectObjects = options.injectObjects;
22
- this.defineModuleName = options.defineModuleName;
23
- this.defineUnitPath = options.defineUnitPath;
24
- this.instanceModuleName = options.instanceModuleName;
25
- this.instanceDefineUnitPath = options.instanceDefineUnitPath;
26
- this.type = options.type;
27
- this.properQualifiers = options.properQualifiers;
28
- }
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQcm90b0Rlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBYnN0cmFjdFByb3RvRGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3QkEsTUFBTSxPQUFnQix1QkFBdUI7SUFDM0MsSUFBSSxDQUFjO0lBQ2xCLFdBQVcsQ0FBYztJQUN6QixRQUFRLENBQXFCO0lBQzdCLFVBQVUsQ0FBa0I7SUFDNUIsYUFBYSxDQUEyQjtJQUN4QyxhQUFhLENBQVM7SUFDdEIsZ0JBQWdCLENBQVM7SUFDekIsY0FBYyxDQUFTO0lBQ3ZCLGtCQUFrQixDQUFTO0lBQzNCLHNCQUFzQixDQUFTO0lBQy9CLFNBQVMsQ0FBVTtJQUNuQixnQkFBZ0IsQ0FBdUM7SUFDdkQsSUFBSSxDQUEwQjtJQUU5QixZQUFzQixPQUF1QztRQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDO1FBQ3JELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFDN0QsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDbkQsQ0FBQztDQUdGIn0=
@@ -1,12 +0,0 @@
1
- import { EggProtoImplClass, ProtoDescriptor } from '@eggjs/tegg-types';
2
- import { AbstractProtoDescriptor, AbstractProtoDescriptorOptions } from './AbstractProtoDescriptor.js';
3
- export interface ClassProtoDescriptorOptions extends Omit<AbstractProtoDescriptorOptions, 'type'> {
4
- clazz: EggProtoImplClass;
5
- }
6
- export declare class ClassProtoDescriptor extends AbstractProtoDescriptor {
7
- clazz: EggProtoImplClass;
8
- clazzName: string;
9
- static isClassProtoDescriptor(descriptor: ProtoDescriptor): descriptor is ClassProtoDescriptor;
10
- constructor(options: ClassProtoDescriptorOptions);
11
- equal(protoDescriptor: ProtoDescriptor): boolean;
12
- }
@@ -1,30 +0,0 @@
1
- import { QualifierUtil } from '@eggjs/core-decorator';
2
- import { ProtoDescriptorType } from '@eggjs/tegg-types';
3
- import { AbstractProtoDescriptor } from './AbstractProtoDescriptor.js';
4
- export class ClassProtoDescriptor extends AbstractProtoDescriptor {
5
- clazz;
6
- clazzName;
7
- static isClassProtoDescriptor(descriptor) {
8
- return descriptor.type === ProtoDescriptorType.CLASS;
9
- }
10
- constructor(options) {
11
- super({
12
- type: ProtoDescriptorType.CLASS,
13
- ...options,
14
- });
15
- this.clazz = options.clazz;
16
- this.className = this.clazz.name;
17
- }
18
- equal(protoDescriptor) {
19
- if (!ClassProtoDescriptor.isClassProtoDescriptor(protoDescriptor)) {
20
- return false;
21
- }
22
- return this.clazz === protoDescriptor.clazz
23
- && this.name === protoDescriptor.name
24
- && this.accessLevel === protoDescriptor.accessLevel
25
- && this.initType === protoDescriptor.initType
26
- && this.instanceModuleName === protoDescriptor.instanceModuleName
27
- && QualifierUtil.equalQualifiers(this.qualifiers, protoDescriptor.qualifiers);
28
- }
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3NQcm90b0Rlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDbGFzc1Byb3RvRGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFzQyxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBa0MsTUFBTSw4QkFBOEIsQ0FBQztBQU12RyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0lBQy9ELEtBQUssQ0FBb0I7SUFDekIsU0FBUyxDQUFTO0lBRWxCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxVQUEyQjtRQUN2RCxPQUFRLFVBQXNDLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLEtBQUssQ0FBQztJQUNwRixDQUFDO0lBRUQsWUFBWSxPQUFvQztRQUM5QyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsbUJBQW1CLENBQUMsS0FBSztZQUMvQixHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWdDO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsS0FBSztlQUN0QyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxJQUFJO2VBQ2xDLElBQUksQ0FBQyxXQUFXLEtBQUssZUFBZSxDQUFDLFdBQVc7ZUFDaEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxlQUFlLENBQUMsUUFBUTtlQUMxQyxJQUFJLENBQUMsa0JBQWtCLEtBQUssZUFBZSxDQUFDLGtCQUFrQjtlQUM5RCxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7Q0FDRiJ9
@@ -1,2 +0,0 @@
1
- export * from './AbstractProtoDescriptor.js';
2
- export * from './ClassProtoDescriptor.js';
@@ -1,3 +0,0 @@
1
- export * from './AbstractProtoDescriptor.js';
2
- export * from './ClassProtoDescriptor.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUMifQ==
@@ -1,26 +0,0 @@
1
- import { EggProtoImplClass, ObjectInitTypeLike, ProtoDescriptor, QualifierInfo, MultiInstancePrototypeGetObjectsContext } from '@eggjs/tegg-types';
2
- import { ProtoSelectorContext } from './graph/index.js';
3
- export declare class ProtoDescriptorHelper {
4
- #private;
5
- static addDefaultQualifier(qualifiers: QualifierInfo[], initType: ObjectInitTypeLike, loadUnitName: string): QualifierInfo[];
6
- static createByMultiInstanceClazz(clazz: EggProtoImplClass, options: {
7
- defineModuleName: string;
8
- defineUnitPath: string;
9
- instanceModuleName: string;
10
- instanceDefineUnitPath: string;
11
- }): Promise<ProtoDescriptor[]>;
12
- static createByDynamicMultiInstanceClazz(clazz: EggProtoImplClass, options: {
13
- defineModuleName: string;
14
- defineUnitPath: string;
15
- instanceModuleName: string;
16
- instanceDefineUnitPath: string;
17
- }): Promise<ProtoDescriptor[]>;
18
- static createByStaticMultiInstanceClazz(clazz: EggProtoImplClass, options: {
19
- defineModuleName: string;
20
- defineUnitPath: string;
21
- instanceModuleName: string;
22
- instanceDefineUnitPath: string;
23
- }): ProtoDescriptor[];
24
- static createByInstanceClazz(clazz: EggProtoImplClass, ctx: MultiInstancePrototypeGetObjectsContext): ProtoDescriptor;
25
- static selectProto(proto: ProtoDescriptor, ctx: ProtoSelectorContext): boolean;
26
- }