@eggjs/tegg-metadata 3.17.0 → 3.18.1

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 CHANGED
@@ -7,5 +7,7 @@ export * from './src/model/LoadUnit';
7
7
  export * from './src/model/Loader';
8
8
  export * from './src/errors';
9
9
  export * from './src/util/ClassUtil';
10
+ export * from './src/impl/LoadUnitMultiInstanceProtoHook';
11
+ export * from './src/model/AppGraph';
10
12
  import './src/impl/ModuleLoadUnit';
11
13
  import './src/impl/EggPrototypeBuilder';
package/dist/index.js CHANGED
@@ -23,6 +23,8 @@ __exportStar(require("./src/model/LoadUnit"), exports);
23
23
  __exportStar(require("./src/model/Loader"), exports);
24
24
  __exportStar(require("./src/errors"), exports);
25
25
  __exportStar(require("./src/util/ClassUtil"), exports);
26
+ __exportStar(require("./src/impl/LoadUnitMultiInstanceProtoHook"), exports);
27
+ __exportStar(require("./src/model/AppGraph"), exports);
26
28
  require("./src/impl/ModuleLoadUnit");
27
29
  require("./src/impl/EggPrototypeBuilder");
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTJDO0FBQzNDLG9FQUFrRDtBQUNsRCwyRUFBeUQ7QUFDekQsZ0VBQThDO0FBQzlDLDJEQUF5QztBQUN6Qyx1REFBcUM7QUFDckMscURBQW1DO0FBQ25DLCtDQUE2QjtBQUM3Qix1REFBcUM7QUFFckMscUNBQW1DO0FBQ25DLDBDQUF3QyJ9
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTJDO0FBQzNDLG9FQUFrRDtBQUNsRCwyRUFBeUQ7QUFDekQsZ0VBQThDO0FBQzlDLDJEQUF5QztBQUN6Qyx1REFBcUM7QUFDckMscURBQW1DO0FBQ25DLCtDQUE2QjtBQUM3Qix1REFBcUM7QUFDckMsNEVBQTBEO0FBQzFELHVEQUFxQztBQUVyQyxxQ0FBbUM7QUFDbkMsMENBQXdDIn0=
@@ -0,0 +1,7 @@
1
+ import { LifecycleHook } from '@eggjs/tegg-lifecycle';
2
+ import { EggProtoImplClass } from '@eggjs/core-decorator';
3
+ import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
4
+ export declare class LoadUnitMultiInstanceProtoHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
5
+ multiInstanceClazzSet: Set<EggProtoImplClass>;
6
+ preCreate(ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
7
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoadUnitMultiInstanceProtoHook = void 0;
4
+ const core_decorator_1 = require("@eggjs/core-decorator");
5
+ const tegg_metadata_1 = require("@eggjs/tegg-metadata");
6
+ class LoadUnitMultiInstanceProtoHook {
7
+ constructor() {
8
+ this.multiInstanceClazzSet = new Set();
9
+ }
10
+ async preCreate(ctx, loadUnit) {
11
+ const clazzList = ctx.loader.load();
12
+ const multiInstanceClazzList = Array.from(this.multiInstanceClazzSet);
13
+ for (const clazz of clazzList) {
14
+ if (core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
15
+ this.multiInstanceClazzSet.add(clazz);
16
+ }
17
+ }
18
+ for (const clazz of multiInstanceClazzList) {
19
+ const protos = await tegg_metadata_1.EggPrototypeCreatorFactory.createProto(clazz, loadUnit);
20
+ for (const proto of protos) {
21
+ tegg_metadata_1.EggPrototypeFactory.instance.registerPrototype(proto, loadUnit);
22
+ }
23
+ }
24
+ }
25
+ }
26
+ exports.LoadUnitMultiInstanceProtoHook = LoadUnitMultiInstanceProtoHook;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRNdWx0aUluc3RhbmNlUHJvdG9Ib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ltcGwvTG9hZFVuaXRNdWx0aUluc3RhbmNlUHJvdG9Ib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBEQUF5RTtBQUN6RSx3REFJOEI7QUFFOUIsTUFBYSw4QkFBOEI7SUFBM0M7UUFDRSwwQkFBcUIsR0FBMkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWlCNUQsQ0FBQztJQWZDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBNkIsRUFBRSxRQUFrQjtRQUMvRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RSxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRTtZQUM3QixJQUFJLDhCQUFhLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkM7U0FDRjtRQUNELEtBQUssTUFBTSxLQUFLLElBQUksc0JBQXNCLEVBQUU7WUFDMUMsTUFBTSxNQUFNLEdBQUcsTUFBTSwwQ0FBMEIsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzdFLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO2dCQUMxQixtQ0FBbUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQ2pFO1NBQ0Y7SUFDSCxDQUFDO0NBQ0Y7QUFsQkQsd0VBa0JDIn0=
@@ -0,0 +1,35 @@
1
+ import { Graph, GraphNode, GraphNodeObj, ModuleReference } from '@eggjs/tegg-common-util';
2
+ import { AccessLevel, EggProtoImplClass, EggPrototypeName, QualifierInfo } from '@eggjs/core-decorator';
3
+ export interface InstanceClazzMeta {
4
+ name: PropertyKey;
5
+ qualifiers: QualifierInfo[];
6
+ accessLevel: AccessLevel;
7
+ instanceModule: GraphNode<ModuleNode>;
8
+ ownerModule: GraphNode<ModuleNode>;
9
+ }
10
+ export type ClazzMetaMap = Record<EggPrototypeName, InstanceClazzMeta[]>;
11
+ export declare class ClazzMap {
12
+ private clazzMap;
13
+ constructor(graph: Graph<ModuleNode>);
14
+ private build;
15
+ findDependencyModule(objName: EggPrototypeName, properQualifiers: QualifierInfo[], intoModule: GraphNode<ModuleNode>): GraphNode<ModuleNode>[];
16
+ }
17
+ export declare class ModuleNode implements GraphNodeObj {
18
+ readonly id: string;
19
+ readonly name: string;
20
+ readonly moduleConfig: ModuleReference;
21
+ private readonly clazzList;
22
+ constructor(moduleConfig: ModuleReference);
23
+ addClazz(clazz: EggProtoImplClass): void;
24
+ toString(): string;
25
+ getClazzList(): readonly EggProtoImplClass[];
26
+ }
27
+ export declare class AppGraph {
28
+ private graph;
29
+ private clazzMap;
30
+ moduleConfigList: Array<ModuleReference>;
31
+ constructor();
32
+ addNode(moduleNode: ModuleNode): void;
33
+ build(): void;
34
+ sort(): void;
35
+ }
@@ -0,0 +1,213 @@
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.AppGraph = exports.ModuleNode = exports.ClazzMap = void 0;
7
+ const node_assert_1 = __importDefault(require("node:assert"));
8
+ const node_util_1 = __importDefault(require("node:util"));
9
+ const tegg_common_util_1 = require("@eggjs/tegg-common-util");
10
+ const core_decorator_1 = require("@eggjs/core-decorator");
11
+ function verifyQualifier(clazzQualifiers, qualifier) {
12
+ const selfQualifiers = clazzQualifiers.find(t => t.attribute === qualifier.attribute);
13
+ return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
14
+ }
15
+ function verifyQualifiers(clazzQualifiers, qualifiers) {
16
+ for (const qualifier of qualifiers) {
17
+ if (!verifyQualifier(clazzQualifiers, qualifier)) {
18
+ return false;
19
+ }
20
+ }
21
+ return true;
22
+ }
23
+ class ClazzMap {
24
+ constructor(graph) {
25
+ this.build(graph);
26
+ }
27
+ build(graph) {
28
+ /**
29
+ * 1. iterate all module get all MultiInstanceClazz
30
+ * 2. iterate MultiInstanceClazz and all module get object meta
31
+ * 3. iterate object meta and build clazz map
32
+ */
33
+ const clazzMap = {};
34
+ for (const ownerNode of graph.nodes.values()) {
35
+ for (const clazz of ownerNode.val.getClazzList()) {
36
+ const qualifiers = core_decorator_1.QualifierUtil.getProtoQualifiers(clazz);
37
+ if (core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
38
+ for (const instanceNode of graph.nodes.values()) {
39
+ const property = core_decorator_1.PrototypeUtil.getMultiInstanceProperty(clazz, {
40
+ unitPath: instanceNode.val.moduleConfig.path,
41
+ });
42
+ (0, node_assert_1.default)(property, `multi instance property not found for ${clazz.name}`);
43
+ for (const info of property.objects) {
44
+ clazzMap[info.name] = clazzMap[info.name] || [];
45
+ clazzMap[info.name].push({
46
+ name: info.name,
47
+ accessLevel: core_decorator_1.PrototypeUtil.getAccessLevel(clazz, {
48
+ unitPath: instanceNode.val.moduleConfig.path,
49
+ }),
50
+ qualifiers: [
51
+ ...qualifiers,
52
+ ...info.qualifiers,
53
+ ],
54
+ instanceModule: instanceNode,
55
+ ownerModule: ownerNode,
56
+ });
57
+ }
58
+ }
59
+ }
60
+ else {
61
+ const property = core_decorator_1.PrototypeUtil.getProperty(clazz);
62
+ (0, node_assert_1.default)(property, `property not found for ${clazz.name}`);
63
+ clazzMap[property.name] = clazzMap[property.name] || [];
64
+ clazzMap[property.name].push({
65
+ name: property.name,
66
+ accessLevel: core_decorator_1.PrototypeUtil.getAccessLevel(clazz, {
67
+ unitPath: ownerNode.val.moduleConfig.path,
68
+ }),
69
+ qualifiers,
70
+ ownerModule: ownerNode,
71
+ instanceModule: ownerNode,
72
+ });
73
+ }
74
+ }
75
+ }
76
+ this.clazzMap = clazzMap;
77
+ }
78
+ findDependencyModule(objName, properQualifiers, intoModule) {
79
+ const result = new Set();
80
+ const objInfo = this.clazzMap[objName];
81
+ if (!objInfo) {
82
+ return [];
83
+ }
84
+ let mayObjs = objInfo.filter(obj => {
85
+ // 1. check accessLevel
86
+ if (obj.instanceModule !== intoModule && obj.accessLevel === core_decorator_1.AccessLevel.PRIVATE) {
87
+ return false;
88
+ }
89
+ // 2. check qualifier
90
+ return verifyQualifiers(obj.qualifiers, properQualifiers);
91
+ });
92
+ // 3. auto set init type qualifier
93
+ if (mayObjs.length > 1) {
94
+ const initTypeQualifiers = core_decorator_1.INIT_TYPE_TRY_ORDER.map(type => ({
95
+ attribute: core_decorator_1.InitTypeQualifierAttribute,
96
+ value: type,
97
+ }));
98
+ for (const initTypeQualifier of initTypeQualifiers) {
99
+ const mayInitTypeObjs = mayObjs.filter(obj => {
100
+ return verifyQualifiers(obj.qualifiers, [
101
+ ...properQualifiers,
102
+ initTypeQualifier,
103
+ ]);
104
+ });
105
+ if (mayInitTypeObjs.length > 0) {
106
+ mayObjs = mayInitTypeObjs;
107
+ }
108
+ }
109
+ }
110
+ // 4. auto set load unit name qualifier
111
+ if (mayObjs.length > 1) {
112
+ const moduleNameQualifiers = {
113
+ attribute: core_decorator_1.LoadUnitNameQualifierAttribute,
114
+ value: intoModule.val.name,
115
+ };
116
+ const mayLoadUnitNameObjs = mayObjs.filter(obj => {
117
+ return verifyQualifiers(obj.qualifiers, [
118
+ ...properQualifiers,
119
+ moduleNameQualifiers,
120
+ ]);
121
+ });
122
+ if (mayLoadUnitNameObjs.length > 0) {
123
+ mayObjs = mayLoadUnitNameObjs;
124
+ }
125
+ }
126
+ if (mayObjs.length > 1) {
127
+ const message = node_util_1.default.format('multi class found for %s@%o in module %j', objName, properQualifiers, mayObjs.map(t => {
128
+ return t.instanceModule.val.moduleConfig.path;
129
+ }));
130
+ throw new Error(message);
131
+ }
132
+ for (const obj of mayObjs) {
133
+ result.add(obj.instanceModule);
134
+ result.add(obj.ownerModule);
135
+ }
136
+ return Array.from(result);
137
+ }
138
+ }
139
+ exports.ClazzMap = ClazzMap;
140
+ class ModuleNode {
141
+ constructor(moduleConfig) {
142
+ this.moduleConfig = moduleConfig;
143
+ this.id = moduleConfig.path;
144
+ this.name = tegg_common_util_1.ModuleConfigUtil.readModuleNameSync(moduleConfig.path);
145
+ this.clazzList = [];
146
+ }
147
+ addClazz(clazz) {
148
+ if (!this.clazzList.includes(clazz)) {
149
+ this.clazzList.push(clazz);
150
+ }
151
+ const defaultQualifier = [{
152
+ attribute: core_decorator_1.InitTypeQualifierAttribute,
153
+ value: core_decorator_1.PrototypeUtil.getInitType(clazz, {
154
+ unitPath: this.moduleConfig.path,
155
+ }),
156
+ }, {
157
+ attribute: core_decorator_1.LoadUnitNameQualifierAttribute,
158
+ value: this.name,
159
+ }];
160
+ for (const qualifier of defaultQualifier) {
161
+ core_decorator_1.QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
162
+ }
163
+ }
164
+ toString() {
165
+ return `${this.name}@${this.moduleConfig.path}`;
166
+ }
167
+ getClazzList() {
168
+ return this.clazzList;
169
+ }
170
+ }
171
+ exports.ModuleNode = ModuleNode;
172
+ class AppGraph {
173
+ constructor() {
174
+ this.graph = new tegg_common_util_1.Graph();
175
+ }
176
+ addNode(moduleNode) {
177
+ if (!this.graph.addVertex(new tegg_common_util_1.GraphNode(moduleNode))) {
178
+ throw new Error(`duplicate module: ${moduleNode}`);
179
+ }
180
+ }
181
+ build() {
182
+ this.clazzMap = new ClazzMap(this.graph);
183
+ // 1. iterate all modules
184
+ for (const node of this.graph.nodes.values()) {
185
+ // 2. iterate all class
186
+ for (const clazz of node.val.getClazzList()) {
187
+ const injectObjects = core_decorator_1.PrototypeUtil.getInjectObjects(clazz);
188
+ // 3. iterate all inject objects
189
+ for (const injectObject of injectObjects) {
190
+ const properQualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(clazz, injectObject.refName);
191
+ // 4. find dependency module
192
+ const dependencyModules = this.clazzMap.findDependencyModule(injectObject.objName, properQualifiers, node);
193
+ for (const moduleNode of dependencyModules) {
194
+ // 5. add edge
195
+ if (node !== moduleNode) {
196
+ this.graph.addEdge(node, moduleNode);
197
+ }
198
+ }
199
+ }
200
+ }
201
+ }
202
+ }
203
+ sort() {
204
+ const loopPath = this.graph.loopPath();
205
+ if (loopPath) {
206
+ throw new Error('module has recursive deps: ' + loopPath);
207
+ }
208
+ this.moduleConfigList = this.graph.sort()
209
+ .map(t => t.val.moduleConfig);
210
+ }
211
+ }
212
+ exports.AppGraph = AppGraph;
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvQXBwR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLDBEQUE2QjtBQUM3Qiw4REFBNEc7QUFDNUcsMERBVStCO0FBWS9CLFNBQVMsZUFBZSxDQUFDLGVBQWdDLEVBQUUsU0FBd0I7SUFDakYsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RGLE9BQU8sQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsS0FBSyxNQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7QUFDbkQsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsZUFBZ0MsRUFBRSxVQUEyQjtJQUNyRixLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRTtRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNoRCxPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFhLFFBQVE7SUFHbkIsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBd0I7UUFDcEM7Ozs7V0FJRztRQUNILE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7UUFDbEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzVDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRTtnQkFDaEQsTUFBTSxVQUFVLEdBQUcsOEJBQWEsQ0FBQyxr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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-metadata",
3
- "version": "3.17.0",
3
+ "version": "3.18.1",
4
4
  "description": "tegg metadata",
5
5
  "keywords": [
6
6
  "egg",
@@ -35,9 +35,9 @@
35
35
  "node": ">=14.0.0"
36
36
  },
37
37
  "dependencies": {
38
- "@eggjs/core-decorator": "^3.17.0",
39
- "@eggjs/tegg-common-util": "^3.17.0",
40
- "@eggjs/tegg-lifecycle": "^3.17.0",
38
+ "@eggjs/core-decorator": "^3.18.1",
39
+ "@eggjs/tegg-common-util": "^3.18.1",
40
+ "@eggjs/tegg-lifecycle": "^3.18.1",
41
41
  "egg-errors": "^2.2.3"
42
42
  },
43
43
  "devDependencies": {
@@ -53,5 +53,5 @@
53
53
  "publishConfig": {
54
54
  "access": "public"
55
55
  },
56
- "gitHead": "f049412d99d784468f48e030dcc501c428112d63"
56
+ "gitHead": "265ac4ae37cad57cd7d38a0ea21d945a8f620b0c"
57
57
  }