@eggjs/tegg-metadata 3.57.13 → 3.57.15-alpha.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 CHANGED
@@ -7,12 +7,14 @@ 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';
10
11
  export * from './src/model/AppGraph';
11
12
  export * from './src/model/graph/GlobalGraph';
12
13
  export * from './src/model/graph/GlobalModuleNode';
13
14
  export * from './src/model/graph/GlobalModuleNodeBuilder';
14
15
  export * from './src/model/graph/ProtoNode';
15
16
  export * from './src/model/graph/ProtoSelector';
17
+ export * from './src/model/graph/ProtoGraphUtils';
16
18
  export * from './src/model/ProtoDescriptor/AbstractProtoDescriptor';
17
19
  export * from './src/model/ProtoDescriptor/ClassProtoDescriptor';
18
20
  export * from './src/model/ModuleDescriptor';
package/dist/index.js CHANGED
@@ -23,16 +23,18 @@ __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);
26
27
  __exportStar(require("./src/model/AppGraph"), exports);
27
28
  __exportStar(require("./src/model/graph/GlobalGraph"), exports);
28
29
  __exportStar(require("./src/model/graph/GlobalModuleNode"), exports);
29
30
  __exportStar(require("./src/model/graph/GlobalModuleNodeBuilder"), exports);
30
31
  __exportStar(require("./src/model/graph/ProtoNode"), exports);
31
32
  __exportStar(require("./src/model/graph/ProtoSelector"), exports);
33
+ __exportStar(require("./src/model/graph/ProtoGraphUtils"), exports);
32
34
  __exportStar(require("./src/model/ProtoDescriptor/AbstractProtoDescriptor"), exports);
33
35
  __exportStar(require("./src/model/ProtoDescriptor/ClassProtoDescriptor"), exports);
34
36
  __exportStar(require("./src/model/ModuleDescriptor"), exports);
35
37
  __exportStar(require("./src/model/ProtoDescriptorHelper"), exports);
36
38
  require("./src/impl/ModuleLoadUnit");
37
39
  require("./src/impl/EggPrototypeBuilder");
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTJDO0FBQzNDLG9FQUFrRDtBQUNsRCwyRUFBeUQ7QUFDekQsZ0VBQThDO0FBQzlDLDJEQUF5QztBQUN6Qyx1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLHVEQUFxQztBQUNyQyw0RUFBMEQ7QUFDMUQsdURBQXFDO0FBRXJDLGdFQUE4QztBQUM5QyxxRUFBbUQ7QUFDbkQsNEVBQTBEO0FBQzFELDhEQUE0QztBQUM1QyxrRUFBZ0Q7QUFDaEQsc0ZBQW9FO0FBQ3BFLG1GQUFpRTtBQUNqRSwrREFBNkM7QUFDN0Msb0VBQWtEO0FBRWxELHFDQUFtQztBQUNuQywwQ0FBd0MifQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTJDO0FBQzNDLG9FQUFrRDtBQUNsRCwyRUFBeUQ7QUFDekQsZ0VBQThDO0FBQzlDLDJEQUF5QztBQUN6Qyx1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLHVEQUFxQztBQUNyQyw0RUFBMEQ7QUFDMUQseUVBQXVEO0FBQ3ZELHVEQUFxQztBQUVyQyxnRUFBOEM7QUFDOUMscUVBQW1EO0FBQ25ELDRFQUEwRDtBQUMxRCw4REFBNEM7QUFDNUMsa0VBQWdEO0FBQ2hELG9FQUFrRDtBQUNsRCxzRkFBb0U7QUFDcEUsbUZBQWlFO0FBQ2pFLCtEQUE2QztBQUM3QyxvRUFBa0Q7QUFFbEQscUNBQW1DO0FBQ25DLDBDQUF3QyJ9
@@ -0,0 +1,24 @@
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
+ }
@@ -0,0 +1,79 @@
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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
@@ -14,9 +14,5 @@ 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;
21
17
  build(): EggPrototype;
22
18
  }
@@ -7,11 +7,10 @@ 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");
11
10
  const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
12
11
  const EggPrototypeImpl_1 = require("./EggPrototypeImpl");
13
12
  const EggPrototypeCreatorFactory_1 = require("../factory/EggPrototypeCreatorFactory");
14
- const errors_1 = require("../errors");
13
+ const InjectObjectPrototypeFinder_1 = require("./InjectObjectPrototypeFinder");
15
14
  class EggPrototypeBuilder {
16
15
  constructor() {
17
16
  this.injectObjects = [];
@@ -39,90 +38,19 @@ class EggPrototypeBuilder {
39
38
  builder.multiInstanceConstructorAttributes = core_decorator_1.PrototypeUtil.getMultiInstanceConstructorAttributes(clazz);
40
39
  return builder.build();
41
40
  }
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
- }
86
41
  build() {
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
- }
42
+ const injectObjectProtos = InjectObjectPrototypeFinder_1.InjectObjectPrototypeFinder.findInjectObjectPrototypes({
43
+ clazz: this.clazz,
44
+ loadUnit: this.loadUnit,
45
+ properQualifiers: this.properQualifiers,
46
+ initType: this.initType,
47
+ injectType: this.injectType,
48
+ injectObjects: this.injectObjects,
49
+ });
122
50
  const id = tegg_lifecycle_1.IdenticalUtil.createProtoId(this.loadUnit.id, this.name);
123
51
  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);
124
52
  }
125
53
  }
126
54
  exports.EggPrototypeBuilder = EggPrototypeBuilder;
127
55
  EggPrototypeCreatorFactory_1.EggPrototypeCreatorFactory.registerPrototypeCreator(tegg_types_1.DEFAULT_PROTO_IMPL_TYPE, EggPrototypeBuilder.create);
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL0VnZ1Byb3RvdHlwZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLDBEQUFxRztBQWFyRyxrREFLMkI7QUFDM0Isd0VBQXFFO0FBQ3JFLDBEQUFzRDtBQUN0RCx5REFBc0Q7QUFDdEQsc0ZBQW1GO0FBQ25GLHNDQUFzRTtBQUV0RSxNQUFhLG1CQUFtQjtJQUFoQztRQU9VLGtCQUFhLEdBQTRDLEVBQUUsQ0FBQztRQUU1RCxlQUFVLEdBQW9CLEVBQUUsQ0FBQztRQUNqQyxxQkFBZ0IsR0FBeUMsRUFBRSxDQUFDO0lBc0l0RSxDQUFDO0lBaklDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBaUM7O1FBQzdDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUEscUJBQU0sRUFBQyxRQUFRLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEIsT0FBTyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUN0QyxPQUFPLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7UUFDOUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUNwRCxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVMsQ0FBQztRQUM3QixPQUFPLENBQUMsVUFBVSxHQUFHLDhCQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxhQUFhLEdBQUcsOEJBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEUsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDNUIsT0FBTyxDQUFDLFVBQVUsR0FBRyw4QkFBYSxDQUFDLGVBQWUsQ0FDaEQsOEJBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFDdkMsQ0FBQyxNQUFBLEdBQUcsQ0FBQyxhQUFhLENBQUMsVUFBVSxtQ0FBSSxFQUFFLENBQUMsQ0FDckMsQ0FBQztRQUNGLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxNQUFBLEdBQUcsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLG1DQUFJLEVBQUUsQ0FBQztRQUNwRSxPQUFPLENBQUMsNkJBQTZCLEdBQUcsOEJBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RixPQUFPLENBQUMsa0NBQWtDLEdBQUcsOEJBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RyxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sdUJBQXVCLENBQUMsWUFBOEM7O1FBQzVFLE1BQU0sa0JBQWtCLEdBQUcsOEJBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRixNQUFNLCtCQUErQixHQUFHLE1BQUEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFpQixDQUFDLG1DQUFJLEVBQUUsQ0FBQztRQUNwRyxPQUFPLHlDQUFtQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLDhCQUFhLENBQUMsZUFBZSxDQUNqSCxrQkFBa0IsRUFDbEIsK0JBQStCLENBQ2hDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxZQUE4Qzs7UUFDNUUsTUFBTSxrQkFBa0IsR0FBRyw4QkFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9GLE1BQU0sK0JBQStCLEdBQUcsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE9BQWlCLENBQUMsbUNBQUksRUFBRSxDQUFDO1FBQ3BHLE9BQU8seUNBQW1CLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsOEJBQWEsQ0FBQyxlQUFlLENBQ2pILGtCQUFrQixFQUNsQiwrQkFBK0IsRUFDL0IsQ0FBQztnQkFDQyxTQUFTLEVBQUUsdUNBQTBCO2dCQUNyQyxLQUFLLEVBQUUsMkJBQWMsQ0FBQyxPQUFPO2FBQzlCLENBQUMsQ0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sNEJBQTRCLENBQUMsWUFBOEM7O1FBQ2pGLE1BQU0sa0JBQWtCLEdBQUcsOEJBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRixNQUFNLCtCQUErQixHQUFHLE1BQUEsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFpQixDQUFDLG1DQUFJLEVBQUUsQ0FBQztRQUNwRyxPQUFPLHlDQUFtQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLDhCQUFhLENBQUMsZUFBZSxDQUNqSCxrQkFBa0IsRUFDbEIsK0JBQStCLEVBQy9CLENBQUM7Z0JBQ0MsU0FBUyxFQUFFLHVDQUEwQjtnQkFDckMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRO2FBQ3JCLENBQUMsQ0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8seUJBQXlCLENBQUMsWUFBOEM7UUFDOUUsTUFBTSxrQkFBa0IsR0FBRyw4QkFBYSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9GLElBQUksQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLDRCQUFtQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyx1Q0FBMEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDckgsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLDZCQUFvQixDQUFDLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxLQUFLO1FBQ1YsTUFBTSxrQkFBa0IsR0FBc0QsRUFBRSxDQUFDO1FBQ2pGLEtBQUssTUFBTSxZQUFZLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzlDLE1BQU0sa0JBQWtCLEdBQUcsOEJBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvRixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLGlCQUE2RCxDQUFDO2dCQUNsRSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssMkJBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDNUMsaUJBQWlCLEdBQUc7d0JBQ2xCLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTzt3QkFDN0IsT0FBTyxFQUFFLFlBQVksQ0FBQyxPQUFPO3dCQUM3QixVQUFVLEVBQUUsa0JBQWtCO3dCQUM5QixLQUFLO3FCQUNOLENBQUM7Z0JBQ0osQ0FBQztxQkFBTSxDQUFDO29CQUNOLGlCQUFpQixHQUFHO3dCQUNsQixRQUFRLEVBQUcsWUFBa0MsQ0FBQyxRQUFRO3dCQUN0RCxPQUFPLEVBQUUsWUFBWSxDQUFDLE9BQU87d0JBQzdCLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTzt3QkFDN0IsVUFBVSxFQUFFLGtCQUFrQjt3QkFDOUIsS0FBSztxQkFDTixDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQzFCLFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUMvQixDQUFDO2dCQUNELGtCQUFrQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxZQUFZLDZCQUFvQixJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDL0QsU0FBUztnQkFDWCxDQUFDO2dCQUNELE1BQU0sQ0FBQyxDQUFDO1lBQ1YsQ0FBQztRQUNILENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyw4QkFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEUsT0FBTyxJQUFJLG1DQUFnQixDQUN6QixFQUFFLEVBQ0YsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsS0FBSyxFQUNWLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLENBQUMsV0FBVyxFQUNoQixrQkFBa0IsRUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyw2QkFBNkIsRUFDbEMsSUFBSSxDQUFDLGtDQUFrQyxDQUN4QyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBaEpELGtEQWdKQztBQUVELHVEQUEwQixDQUFDLHdCQUF3QixDQUFDLG9DQUF1QixFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDIn0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL0VnZ1Byb3RvdHlwZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLDBEQUFxRztBQWFyRyxrREFBNEQ7QUFDNUQsMERBQXNEO0FBQ3RELHlEQUFzRDtBQUN0RCxzRkFBbUY7QUFDbkYsK0VBQTRFO0FBRTVFLE1BQWEsbUJBQW1CO0lBQWhDO1FBT1Usa0JBQWEsR0FBNEMsRUFBRSxDQUFDO1FBRTVELGVBQVUsR0FBb0IsRUFBRSxDQUFDO1FBQ2pDLHFCQUFnQixHQUF5QyxFQUFFLENBQUM7SUF1RHRFLENBQUM7SUFsREMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFpQzs7UUFDN0MsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDaEMsTUFBTSxRQUFRLEdBQUcsOEJBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBQSxxQkFBTSxFQUFDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUMxQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN0QixPQUFPLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDaEQsT0FBTyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUM5QyxPQUFPLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUyxDQUFDO1FBQzdCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsOEJBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLGFBQWEsR0FBRyw4QkFBYSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNwRSxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUM1QixPQUFPLENBQUMsVUFBVSxHQUFHLDhCQUFhLENBQUMsZUFBZSxDQUNoRCw4QkFBYSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUN2QyxDQUFDLE1BQUEsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLG1DQUFJLEVBQUUsQ0FBQyxDQUNyQyxDQUFDO1FBQ0YsT0FBTyxDQUFDLGdCQUFnQixHQUFHLE1BQUEsR0FBRyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsbUNBQUksRUFBRSxDQUFDO1FBQ3BFLE9BQU8sQ0FBQyw2QkFBNkIsR0FBRyw4QkFBYSxDQUFDLGdDQUFnQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlGLE9BQU8sQ0FBQyxrQ0FBa0MsR0FBRyw4QkFBYSxDQUFDLHFDQUFxQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hHLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxLQUFLO1FBQ1YsTUFBTSxrQkFBa0IsR0FBRyx5REFBMkIsQ0FBQywwQkFBMEIsQ0FBQztZQUNoRixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7U0FDbEMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxFQUFFLEdBQUcsOEJBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sSUFBSSxtQ0FBZ0IsQ0FDekIsRUFBRSxFQUNGLElBQUksQ0FBQyxJQUFJLEVBQ1QsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLEVBQ2IsSUFBSSxDQUFDLFdBQVcsRUFDaEIsa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUNoQixJQUFJLENBQUMsVUFBVSxFQUNmLElBQUksQ0FBQyxTQUFTLEVBQ2QsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsNkJBQTZCLEVBQ2xDLElBQUksQ0FBQyxrQ0FBa0MsQ0FDeEMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWpFRCxrREFpRUM7QUFFRCx1REFBMEIsQ0FBQyx3QkFBd0IsQ0FBQyxvQ0FBdUIsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyJ9
@@ -0,0 +1,17 @@
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 {};
@@ -0,0 +1,93 @@
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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
@@ -5,6 +5,7 @@ export interface ModuleDescriptor {
5
5
  optional?: boolean;
6
6
  clazzList: EggProtoImplClass[];
7
7
  multiInstanceClazzList: EggProtoImplClass[];
8
+ innerObjectClazzList: EggProtoImplClass[];
8
9
  protos: ProtoDescriptor[];
9
10
  }
10
11
  export interface ModuleDumpOptions {
@@ -43,4 +43,4 @@ class ModuleDescriptorDumper {
43
43
  }
44
44
  }
45
45
  exports.ModuleDescriptorDumper = ModuleDescriptorDumper;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlRGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9Nb2R1bGVEZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixnRUFBa0M7QUFFbEMsMERBQXNEO0FBRXRELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7QUFlL0MsTUFBYSxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFrQztRQUMzRCxPQUFPLEdBQUc7Y0FDTixZQUFZLGdCQUFnQixDQUFDLElBQUksSUFBSTtjQUNyQyxnQkFBZ0IsZ0JBQWdCLENBQUMsUUFBUSxJQUFJO2NBQzdDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxlQUFlLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Y0FDckcsaUJBQWlCLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLDhCQUE4QixnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlFLE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLGNBQWMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztjQUNiLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXdCLEVBQUUsZ0JBQWtDO1FBQ2hGLE9BQU8sR0FBRztjQUNOLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSTtjQUMxQixDQUFDLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsbUJBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2NBQ3hJLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQXNCLEVBQUUsT0FBMkI7O1FBQ2pFLE1BQU0sT0FBTyxHQUFHLE1BQUEsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sbUNBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFzQixFQUFFLE9BQTJCO1FBQ25FLE1BQU0sUUFBUSxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxrQkFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sa0JBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGO0FBbkNELHdEQW1DQyJ9
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlRGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9Nb2R1bGVEZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixnRUFBa0M7QUFFbEMsMERBQXNEO0FBRXRELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7QUFnQi9DLE1BQWEsc0JBQXNCO0lBQ2pDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBa0M7UUFDM0QsT0FBTyxHQUFHO2NBQ04sWUFBWSxnQkFBZ0IsQ0FBQyxJQUFJLElBQUk7Y0FDckMsZ0JBQWdCLGdCQUFnQixDQUFDLFFBQVEsSUFBSTtjQUM3QyxDQUFDLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsZUFBZSxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2NBQ3JHLGlCQUFpQixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwRCxPQUFPLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7Y0FDZCw4QkFBOEIsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5RSxPQUFPLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUk7Y0FDZCxjQUFjLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUc7Y0FDYixHQUFHLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUF3QixFQUFFLGdCQUFrQztRQUNoRixPQUFPLEdBQUc7Y0FDTixZQUFZLEtBQUssQ0FBQyxJQUFJLElBQUk7Y0FDMUIsQ0FBQyw4QkFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLG1CQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSw4QkFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztjQUN4SSxHQUFHLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFzQixFQUFFLE9BQTJCOztRQUNqRSxNQUFNLE9BQU8sR0FBRyxNQUFBLFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxHQUFJLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxPQUFPLG1DQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0QsT0FBTyxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksbUJBQW1CLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBc0IsRUFBRSxPQUEyQjtRQUNuRSxNQUFNLFFBQVEsR0FBRyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sa0JBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1RCxNQUFNLGtCQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Q0FDRjtBQW5DRCx3REFtQ0MifQ==
@@ -1,26 +1,11 @@
1
- import { EggProtoImplClass, ObjectInitTypeLike, ProtoDescriptor, QualifierInfo, MultiInstancePrototypeGetObjectsContext } from '@eggjs/tegg-types';
1
+ import { EggProtoImplClass, ObjectInitTypeLike, ProtoDescriptor, QualifierInfo, CreateProtoDescriptorContext, CreateMultiInstanceProtoDescriptorContext } 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, 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;
6
+ static createByMultiInstanceClazz(clazz: EggProtoImplClass, ctx: CreateMultiInstanceProtoDescriptorContext): ProtoDescriptor[];
7
+ static createByDynamicMultiInstanceClazz(clazz: EggProtoImplClass, ctx: CreateMultiInstanceProtoDescriptorContext): ProtoDescriptor[];
8
+ static createByStaticMultiInstanceClazz(clazz: EggProtoImplClass, ctx: CreateMultiInstanceProtoDescriptorContext): ProtoDescriptor[];
9
+ static createByInstanceClazz(clazz: EggProtoImplClass, ctx: CreateProtoDescriptorContext): ProtoDescriptor;
25
10
  static selectProto(proto: ProtoDescriptor, ctx: ProtoSelectorContext): boolean;
26
11
  }
@@ -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"));
13
14
  const core_decorator_1 = require("@eggjs/core-decorator");
14
15
  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, options) {
36
+ static createByMultiInstanceClazz(clazz, ctx) {
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, options);
40
+ return _a.createByDynamicMultiInstanceClazz(clazz, ctx);
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 (options.defineModuleName === options.instanceModuleName) {
45
- return _a.createByStaticMultiInstanceClazz(clazz, options);
44
+ if (ctx.moduleName === ctx.defineModuleName) {
45
+ return _a.createByStaticMultiInstanceClazz(clazz, ctx);
46
46
  }
47
47
  }
48
48
  return [];
49
49
  }
50
- static createByDynamicMultiInstanceClazz(clazz, options) {
50
+ static createByDynamicMultiInstanceClazz(clazz, ctx) {
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: options.instanceModuleName,
54
- unitPath: options.instanceDefineUnitPath,
53
+ moduleName: ctx.moduleName,
54
+ unitPath: ctx.unitPath,
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, options);
57
+ return __classPrivateFieldGet(_a, _a, "m", _ProtoDescriptorHelper_createByMultiInstanceClazz).call(_a, clazz, instanceProperty, ctx);
58
58
  }
59
- static createByStaticMultiInstanceClazz(clazz, options) {
59
+ static createByStaticMultiInstanceClazz(clazz, ctx) {
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, options);
63
+ return __classPrivateFieldGet(_a, _a, "m", _ProtoDescriptorHelper_createByMultiInstanceClazz).call(_a, clazz, instanceProperty, ctx);
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.unitPath,
89
- defineModuleName: ctx.moduleName,
88
+ defineUnitPath: ctx.defineUnitPath || ctx.unitPath,
89
+ defineModuleName: ctx.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, options) {
111
+ _a = ProtoDescriptorHelper, _ProtoDescriptorHelper_createByMultiInstanceClazz = function _ProtoDescriptorHelper_createByMultiInstanceClazz(clazz, instanceProperty, ctx) {
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, options.instanceModuleName);
115
+ qualifiers = _a.addDefaultQualifier(qualifiers, instanceProperty.initType, ctx.moduleName);
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: options.instanceModuleName,
134
- instanceDefineUnitPath: options.instanceDefineUnitPath,
135
- defineModuleName: options.defineModuleName,
136
- defineUnitPath: options.defineUnitPath,
133
+ instanceModuleName: ctx.moduleName,
134
+ instanceDefineUnitPath: ctx.unitPath,
135
+ defineModuleName: ctx.defineModuleName,
136
+ defineUnitPath: ctx.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9EZXNjcmlwdG9ySGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL1Byb3RvRGVzY3JpcHRvckhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwwREFJK0I7QUFDL0Isa0RBVTJCO0FBQzNCLDhEQUFpQztBQUVqQyxpRkFBOEU7QUFFOUUsTUFBYSxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQTJCLEVBQUUsUUFBNEIsRUFBRSxZQUFvQjtRQUN4RyxNQUFNLGlCQUFpQixHQUFHLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSx1Q0FBMEI7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRO2FBQ2hCLEVBQUU7Z0JBQ0QsU0FBUyxFQUFFLDJDQUE4QjtnQkFDekMsS0FBSyxFQUFFLFlBQVk7YUFDcEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUc7WUFDVixHQUFHLFVBQVU7U0FDZCxDQUFDO1FBQ0YsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxLQUF3QixFQUFFLE9BSzNEO1FBQ0MsSUFBQSxxQkFBTSxFQUFDLDhCQUFhLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxLQUFLLENBQUMsSUFBSSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQzlHLE1BQU0sSUFBSSxHQUFHLDhCQUFhLENBQUMsZ0NBQWdDLENB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
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9EZXNjcmlwdG9ySGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL1Byb3RvRGVzY3JpcHRvckhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw4REFBaUM7QUFDakMsMERBSStCO0FBQy9CLGtEQVkyQjtBQUUzQixpRkFBOEU7QUFFOUUsTUFBYSxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQTJCLEVBQUUsUUFBNEIsRUFBRSxZQUFvQjtRQUN4RyxNQUFNLGlCQUFpQixHQUFHLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSx1Q0FBMEI7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRO2FBQ2hCLEVBQUU7Z0JBQ0QsU0FBUyxFQUFFLDJDQUE4QjtnQkFDekMsS0FBSyxFQUFFLFlBQVk7YUFDcEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUc7WUFDVixHQUFHLFVBQVU7U0FDZCxDQUFDO1FBQ0YsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxLQUF3QixFQUFFLEdBQThDO1FBQ3hHLElBQUEscUJBQU0sRUFBQyw4QkFBYSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsS0FBSyxDQUFDLElBQUksZ0NBQWdDLENBQUMsQ0FBQztRQUM5RyxNQUFNLElBQUksR0FBRyw4QkFBYSxDQUFDLGdDQUFnQyxD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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 { ModuleDependencyMeta, GlobalModuleNode } from './GlobalModuleNode';
4
- import { ProtoDependencyMeta, ProtoNode } from './ProtoNode';
3
+ import { GlobalModuleNode, ModuleDependencyMeta } from './GlobalModuleNode';
4
+ import { ProtoDependencyMeta, ProtoGraphNode, ProtoNode } from './ProtoNode';
5
5
  import { ModuleDescriptor } from '../ModuleDescriptor';
6
6
  export interface GlobalGraphOptions {
7
7
  strict?: boolean;
@@ -52,11 +52,12 @@ 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;
55
56
  build(): void;
56
57
  buildInjectEdge(moduleNode: GraphNode<GlobalModuleNode, ModuleDependencyMeta>, protoNode: GraphNode<ProtoNode, ProtoDependencyMeta>, injectObj: InjectObjectDescriptor): void;
57
58
  addInject(moduleNode: GraphNode<GlobalModuleNode, ModuleDependencyMeta>, protoNode: GraphNode<ProtoNode, ProtoDependencyMeta>, injectNode: GraphNode<ProtoNode, ProtoDependencyMeta>, injectName: PropertyKey): void;
58
59
  findInjectProto(proto: ProtoDescriptor, injectObject: InjectObjectDescriptor): ProtoDescriptor | undefined;
59
- findDependencyProtoNode(proto: ProtoDescriptor, injectObject: InjectObjectDescriptor): GraphNode<ProtoNode, ProtoDependencyMeta> | undefined;
60
+ findDependencyProtoNode(proto: ProtoDescriptor, injectObject: InjectObjectDescriptor): ProtoGraphNode | undefined;
60
61
  findModuleNode(moduleName: string): GraphNode<GlobalModuleNode, ModuleDependencyMeta> | undefined;
61
62
  sort(): void;
62
63
  static create(moduleDescriptors: ModuleDescriptor[], options?: GlobalGraphOptions): GlobalGraph;
@@ -4,17 +4,16 @@ 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_findDependencyProtoWithDefaultQualifiers, _GlobalGraph_sortModule, _GlobalGraph_sortClazz;
7
+ var _GlobalGraph_instances, _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");
12
11
  const GlobalModuleNode_1 = require("./GlobalModuleNode");
13
12
  const ProtoNode_1 = require("./ProtoNode");
14
13
  const egg_errors_1 = require("egg-errors");
15
14
  const errors_1 = require("../../errors");
16
15
  const GlobalModuleNodeBuilder_1 = require("./GlobalModuleNodeBuilder");
17
- const core_decorator_1 = require("@eggjs/core-decorator");
16
+ const ProtoGraphUtils_1 = require("./ProtoGraphUtils");
18
17
  /**
19
18
  * Sort all prototypes and modules in app.
20
19
  * - 1. LoaderFactory.loadApp: get ModuleDescriptors
@@ -51,6 +50,11 @@ class GlobalGraph {
51
50
  }
52
51
  }
53
52
  }
53
+ addProtoNode(protoNode) {
54
+ if (!this.protoGraph.addVertex(protoNode)) {
55
+ throw new Error(`duplicate proto: ${protoNode}`);
56
+ }
57
+ }
54
58
  build() {
55
59
  for (const moduleNode of this.moduleGraph.nodes.values()) {
56
60
  for (const protoNode of moduleNode.val.protos) {
@@ -95,42 +99,7 @@ class GlobalGraph {
95
99
  return edge === null || edge === void 0 ? void 0 : edge.val.proto;
96
100
  }
97
101
  findDependencyProtoNode(proto, injectObject) {
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));
102
+ return ProtoGraphUtils_1.ProtoGraphUtils.findDependencyProtoNode(this.protoGraph, proto, injectObject);
134
103
  }
135
104
  findModuleNode(moduleName) {
136
105
  for (const node of this.moduleGraph.nodes.values()) {
@@ -164,20 +133,7 @@ class GlobalGraph {
164
133
  }
165
134
  }
166
135
  exports.GlobalGraph = GlobalGraph;
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() {
136
+ _GlobalGraph_instances = new WeakSet(), _GlobalGraph_sortModule = function _GlobalGraph_sortModule() {
181
137
  const loopPath = this.moduleGraph.loopPath();
182
138
  if (loopPath) {
183
139
  throw new Error('module has recursive deps: ' + loopPath);
@@ -210,4 +166,4 @@ _GlobalGraph_instances = new WeakSet(), _GlobalGraph_findDependencyProtoWithDefa
210
166
  moduleProtoList.push(proto.val.proto);
211
167
  }
212
168
  };
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsOERBQTRFO0FBQzVFLGtEQU0yQjtBQUMzQix5REFBNEU7QUFDNUUsMkNBQTZEO0FBQzdELDJDQUFvRDtBQUNwRCx5Q0FBeUU7QUFDekUsdUVBQW9FO0FBRXBFLDBEQUFzRDtBQVV0RDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLFdBQVc7SUE4QnRCLFlBQVksT0FBNEI7OztRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksd0JBQUssRUFBMEMsQ0FBQztRQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksd0JBQUssRUFBa0MsQ0FBQztRQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sbUNBQUksS0FBSyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUEwQjtRQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsYUFBYSxDQUFDLFVBQTRCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLDRCQUFTLENBQXlDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNuRyxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMs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
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsOERBQTRFO0FBRTVFLHlEQUE0RTtBQUM1RSwyQ0FBNkU7QUFDN0UsMkNBQW9EO0FBQ3BELHlDQUFvRDtBQUNwRCx1RUFBb0U7QUFFcEUsdURBQW9EO0FBVXBEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQWEsV0FBVztJQThCdEIsWUFBWSxPQUE0Qjs7O1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSx3QkFBSyxFQUEwQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx3QkFBSyxFQUFrQyxDQUFDO1FBQzlELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxtQ0FBSSxLQUFLLENBQUM7UUFDdkMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQTBCO1FBQzFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhLENBQUMsVUFBNEI7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksNEJBQVMsQ0FBeUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25HLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFB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
@@ -1,6 +1,6 @@
1
1
  import { GraphNode, GraphNodeObj, EdgeMeta } from '@eggjs/tegg-common-util';
2
- import { ProtoDependencyMeta, ProtoNode } from './ProtoNode';
3
- import { ProtoDescriptor } from '@eggjs/tegg-types';
2
+ import { ProtoDependencyMeta, ProtoGraphNode, ProtoNode } from './ProtoNode';
3
+ import { EggProtoImplClass, ProtoDescriptor } from '@eggjs/tegg-types';
4
4
  export interface GlobalModuleNodeOptions {
5
5
  name: string;
6
6
  unitPath: string;
@@ -18,8 +18,10 @@ export declare class GlobalModuleNode implements GraphNodeObj {
18
18
  readonly name: string;
19
19
  readonly unitPath: string;
20
20
  readonly optional: boolean;
21
- readonly protos: GraphNode<ProtoNode, ProtoDependencyMeta>[];
21
+ readonly protos: ProtoGraphNode[];
22
22
  constructor(options: GlobalModuleNodeOptions);
23
- addProto(proto: ProtoDescriptor): void;
23
+ addProtoByClazz(clazz: EggProtoImplClass): GraphNode<ProtoNode, ProtoDependencyMeta>;
24
+ addProtoByMultiInstanceClazz(clazz: EggProtoImplClass, defineModuleName: string, defineUnitPath: string): ProtoGraphNode[];
25
+ addProto(proto: ProtoDescriptor): GraphNode<ProtoNode, ProtoDependencyMeta>;
24
26
  toString(): string;
25
27
  }
@@ -3,6 +3,7 @@ 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");
6
7
  class ModuleDependencyMeta {
7
8
  constructor(obj, injectObj) {
8
9
  this.obj = obj;
@@ -25,12 +26,34 @@ class GlobalModuleNode {
25
26
  this.optional = options.optional;
26
27
  this.protos = [];
27
28
  }
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
+ }
28
49
  addProto(proto) {
29
- this.protos.push(new tegg_common_util_1.GraphNode(new ProtoNode_1.ProtoNode(proto)));
50
+ const protoGraphNode = new tegg_common_util_1.GraphNode(new ProtoNode_1.ProtoNode(proto));
51
+ this.protos.push(protoGraphNode);
52
+ return protoGraphNode;
30
53
  }
31
54
  toString() {
32
55
  return `${this.name}@${this.unitPath}`;
33
56
  }
34
57
  }
35
58
  exports.GlobalModuleNode = GlobalModuleNode;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2RlbC9ncmFwaC9HbG9iYWxNb2R1bGVOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhEQUE0RTtBQUM1RSwyQ0FBNkQ7QUFTN0QsTUFBYSxvQkFBb0I7SUFDL0IsWUFBcUIsR0FBb0IsRUFBVyxTQUFzQjtRQUFyRCxRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUFXLGNBQVMsR0FBVCxTQUFTLENBQWE7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUEwQjtRQUM5QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7ZUFDMUIsSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxVQUFVLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztJQUM1RSxDQUFDO0NBQ0Y7QUFaRCxvREFZQztBQUVELE1BQWEsZ0JBQWdCO0lBTzNCLFlBQVksT0FBZ0M7UUFDMUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBc0I7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSw0QkFBUyxDQUFDLElBQUkscUJBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBdEJELDRDQXNCQyJ9
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2RlbC9ncmFwaC9HbG9iYWxNb2R1bGVOb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhEQUE0RTtBQUM1RSwyQ0FBNkU7QUFFN0Usb0VBQWlFO0FBUWpFLE1BQWEsb0JBQW9CO0lBQy9CLFlBQXFCLEdBQW9CLEVBQVcsU0FBc0I7UUFBckQsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFBVyxjQUFTLEdBQVQsU0FBUyxDQUFhO0lBQzFFLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBMEI7UUFDOUIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2VBQzFCLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sVUFBVSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDNUUsQ0FBQztDQUNGO0FBWkQsb0RBWUM7QUFFRCxNQUFhLGdCQUFnQjtJQU8zQixZQUFZLE9BQWdDO1FBQzFDLElBQUksQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQXdCO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLDZDQUFxQixDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRTtZQUMvRCxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBd0IsRUFBRSxnQkFBd0IsRUFBRSxjQUFzQjtRQUNyRyxNQUFNLE1BQU0sR0FBRyw2Q0FBcUIsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUU7WUFDckUsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3JCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixnQkFBZ0I7WUFDaEIsY0FBYztTQUNmLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7UUFDcEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQjtRQUM3QixNQUFNLGNBQWMsR0FBRyxJQUFJLDRCQUFTLENBQWlDLElBQUkscUJBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQTlDRCw0Q0E4Q0MifQ==
@@ -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,
24
26
  defineModuleName,
25
27
  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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBQStFO0FBQy9FLDhEQUEyRDtBQUMzRCxvRUFBaUU7QUFFakUsTUFBYSx1QkFBdUI7SUFNbEMsWUFBWSxPQUFnQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXdCO1FBQy9CLE1BQU0sS0FBSyxHQUFHLDZDQUFxQixDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRTtZQUMvRCxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQXdCLEVBQUUsZ0JBQXdCLEVBQUUsY0FBc0I7UUFDOUYsTUFBTSxNQUFNLEdBQUcsNkNBQXFCLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFO1lBQ3JFLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDN0Isc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQztZQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBZ0IsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUM5QyxNQUFNLElBQUksR0FBRyxtQ0FBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksdUJBQXVCLENBQUM7WUFDakMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBckRELDBEQXFEQyJ9
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvZ3JhcGgvR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBQStFO0FBQy9FLDhEQUEyRDtBQUMzRCxvRUFBaUU7QUFFakUsTUFBYSx1QkFBdUI7SUFNbEMsWUFBWSxPQUFnQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXdCO1FBQy9CLE1BQU0sS0FBSyxHQUFHLDZDQUFxQixDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRTtZQUMvRCxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQXdCLEVBQUUsZ0JBQXdCLEVBQUUsY0FBc0I7UUFDOUYsTUFBTSxNQUFNLEdBQUcsNkNBQXFCLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFO1lBQ3JFLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNyQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsZ0JBQWdCO1lBQ2hCLGNBQWM7U0FDZixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUs7UUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLG1DQUFnQixDQUFDO1lBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFnQixFQUFFLFFBQVEsR0FBRyxLQUFLO1FBQzlDLE1BQU0sSUFBSSxHQUFHLG1DQUFnQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSx1QkFBdUIsQ0FBQztZQUNqQyxJQUFJO1lBQ0osUUFBUTtZQUNSLFFBQVE7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFyREQsMERBcURDIn0=
@@ -0,0 +1,6 @@
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
+ }
@@ -0,0 +1,70 @@
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==
@@ -1,6 +1,6 @@
1
1
  import { GraphNodeObj, ProtoDescriptor } from '@eggjs/tegg-types';
2
2
  import { ProtoSelectorContext } from './ProtoSelector';
3
- import { EdgeMeta } from '@eggjs/tegg-common-util';
3
+ import { EdgeMeta, Graph, GraphNode } from '@eggjs/tegg-common-util';
4
4
  export declare class ProtoDependencyMeta implements EdgeMeta {
5
5
  injectObj: PropertyKey;
6
6
  constructor({ injectObj, }: {
@@ -17,3 +17,5 @@ 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.57.13",
3
+ "version": "3.57.15-alpha.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.57.13",
39
- "@eggjs/tegg-common-util": "^3.57.13",
40
- "@eggjs/tegg-lifecycle": "^3.57.13",
41
- "@eggjs/tegg-types": "^3.57.13",
38
+ "@eggjs/core-decorator": "^3.57.15-alpha.0",
39
+ "@eggjs/tegg-common-util": "^3.57.15-alpha.0",
40
+ "@eggjs/tegg-lifecycle": "^3.57.15-alpha.0",
41
+ "@eggjs/tegg-types": "^3.57.15-alpha.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": "b49e4c70e7f09a073e989493b995f8dd3ce482e9"
57
+ "gitHead": "083f28b66e5b5addfbc0a5c98367f3a35e46e6d0"
58
58
  }