@eggjs/tegg-metadata 4.0.0-beta.7 → 4.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/errors.d.ts +10 -14
- package/dist/errors.js +27 -29
- package/dist/factory/EggPrototypeCreatorFactory.d.ts +8 -12
- package/dist/factory/EggPrototypeCreatorFactory.js +108 -95
- package/dist/factory/EggPrototypeFactory.d.ts +8 -12
- package/dist/factory/EggPrototypeFactory.js +51 -40
- package/dist/factory/LoadUnitFactory.d.ts +11 -15
- package/dist/factory/LoadUnitFactory.js +59 -58
- package/dist/factory/index.d.ts +3 -0
- package/dist/factory/index.js +4 -5
- package/dist/impl/EggPrototypeBuilder.d.ts +21 -25
- package/dist/impl/EggPrototypeBuilder.js +122 -113
- package/dist/impl/EggPrototypeImpl.d.ts +23 -27
- package/dist/impl/EggPrototypeImpl.js +53 -52
- package/dist/impl/LoadUnitMultiInstanceProtoHook.d.ts +6 -10
- package/dist/impl/LoadUnitMultiInstanceProtoHook.js +18 -16
- package/dist/impl/ModuleLoadUnit.d.ts +33 -36
- package/dist/impl/ModuleLoadUnit.js +265 -208
- package/dist/impl/index.d.ts +4 -0
- package/dist/impl/index.js +5 -6
- package/dist/index.d.ts +6 -23
- package/dist/index.js +7 -28
- package/dist/model/AppGraph.d.ts +35 -38
- package/dist/model/AppGraph.js +260 -191
- package/dist/model/EggPrototype.d.ts +3 -7
- package/dist/model/EggPrototype.js +3 -7
- package/dist/model/LoadUnit.d.ts +3 -7
- package/dist/model/LoadUnit.js +3 -7
- package/dist/model/ModuleDescriptor.d.ts +15 -19
- package/dist/model/ModuleDescriptor.js +38 -32
- package/dist/model/ProtoDescriptor/AbstractProtoDescriptor.d.ts +30 -34
- package/dist/model/ProtoDescriptor/AbstractProtoDescriptor.js +31 -35
- package/dist/model/ProtoDescriptor/ClassProtoDescriptor.d.ts +10 -14
- package/dist/model/ProtoDescriptor/ClassProtoDescriptor.js +29 -26
- package/dist/model/ProtoDescriptor/index.d.ts +2 -0
- package/dist/model/ProtoDescriptor/index.js +3 -4
- package/dist/model/ProtoDescriptorHelper.d.ts +25 -29
- package/dist/model/ProtoDescriptorHelper.js +130 -113
- package/dist/model/graph/GlobalGraph.d.ts +48 -52
- package/dist/model/graph/GlobalGraph.js +229 -172
- package/dist/model/graph/GlobalModuleNode.d.ts +22 -26
- package/dist/model/graph/GlobalModuleNode.js +39 -42
- package/dist/model/graph/GlobalModuleNodeBuilder.d.ts +12 -16
- package/dist/model/graph/GlobalModuleNodeBuilder.js +52 -54
- package/dist/model/graph/ProtoNode.d.ts +16 -22
- package/dist/model/graph/ProtoNode.js +39 -42
- package/dist/model/graph/ProtoSelector.d.ts +5 -9
- package/dist/model/graph/ProtoSelector.js +2 -3
- package/dist/model/graph/index.d.ts +5 -0
- package/dist/model/graph/index.js +6 -7
- package/dist/model/index.d.ts +7 -0
- package/dist/model/index.js +8 -15
- package/dist/util/ClassUtil.d.ts +4 -8
- package/dist/util/ClassUtil.js +17 -18
- package/dist/util/index.d.ts +1 -0
- package/dist/util/index.js +2 -3
- package/package.json +6 -6
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
import { EggPrototype, EggPrototypeLifecycleContext } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
private findInjectObjectPrototype;
|
|
23
|
-
build(): EggPrototype;
|
|
1
|
+
import type { EggPrototype, EggPrototypeLifecycleContext } from '@eggjs/tegg-types';
|
|
2
|
+
export declare class EggPrototypeBuilder {
|
|
3
|
+
private clazz;
|
|
4
|
+
private name;
|
|
5
|
+
private initType;
|
|
6
|
+
private accessLevel;
|
|
7
|
+
private filepath;
|
|
8
|
+
private injectType;
|
|
9
|
+
private injectObjects;
|
|
10
|
+
private loadUnit;
|
|
11
|
+
private qualifiers;
|
|
12
|
+
private properQualifiers;
|
|
13
|
+
private className?;
|
|
14
|
+
private multiInstanceConstructorIndex?;
|
|
15
|
+
private multiInstanceConstructorAttributes?;
|
|
16
|
+
static create(ctx: EggPrototypeLifecycleContext): EggPrototype;
|
|
17
|
+
private tryFindDefaultPrototype;
|
|
18
|
+
private tryFindContextPrototype;
|
|
19
|
+
private tryFindSelfInitTypePrototype;
|
|
20
|
+
private findInjectObjectPrototype;
|
|
21
|
+
build(): EggPrototype;
|
|
24
22
|
}
|
|
25
|
-
//#endregion
|
|
26
|
-
export { EggPrototypeBuilder };
|
|
@@ -1,115 +1,124 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
1
|
+
import assert from 'node:assert';
|
|
2
|
+
import { InjectType, PrototypeUtil, QualifierUtil } from '@eggjs/core-decorator';
|
|
3
|
+
import { DEFAULT_PROTO_IMPL_TYPE, InitTypeQualifierAttribute, ObjectInitType, } from '@eggjs/tegg-types';
|
|
4
|
+
import { IdenticalUtil } from '@eggjs/tegg-lifecycle';
|
|
5
|
+
import { EggPrototypeFactory, EggPrototypeCreatorFactory } from "../factory/index.js";
|
|
5
6
|
import { EggPrototypeImpl } from "./EggPrototypeImpl.js";
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
7
|
+
import { EggPrototypeNotFound, MultiPrototypeFound } from "../errors.js";
|
|
8
|
+
export class EggPrototypeBuilder {
|
|
9
|
+
clazz;
|
|
10
|
+
name;
|
|
11
|
+
initType;
|
|
12
|
+
accessLevel;
|
|
13
|
+
filepath;
|
|
14
|
+
injectType;
|
|
15
|
+
injectObjects = [];
|
|
16
|
+
loadUnit;
|
|
17
|
+
qualifiers = [];
|
|
18
|
+
properQualifiers = {};
|
|
19
|
+
className;
|
|
20
|
+
multiInstanceConstructorIndex;
|
|
21
|
+
multiInstanceConstructorAttributes;
|
|
22
|
+
static create(ctx) {
|
|
23
|
+
const { clazz, loadUnit } = ctx;
|
|
24
|
+
const filepath = PrototypeUtil.getFilePath(clazz);
|
|
25
|
+
assert(filepath, 'not find filepath');
|
|
26
|
+
const builder = new EggPrototypeBuilder();
|
|
27
|
+
builder.clazz = clazz;
|
|
28
|
+
builder.name = ctx.prototypeInfo.name;
|
|
29
|
+
builder.className = ctx.prototypeInfo.className;
|
|
30
|
+
builder.initType = ctx.prototypeInfo.initType;
|
|
31
|
+
builder.accessLevel = ctx.prototypeInfo.accessLevel;
|
|
32
|
+
builder.filepath = filepath;
|
|
33
|
+
builder.injectType = PrototypeUtil.getInjectType(clazz);
|
|
34
|
+
builder.injectObjects = PrototypeUtil.getInjectObjects(clazz) || [];
|
|
35
|
+
builder.loadUnit = loadUnit;
|
|
36
|
+
builder.qualifiers = QualifierUtil.mergeQualifiers(QualifierUtil.getProtoQualifiers(clazz), (ctx.prototypeInfo.qualifiers ?? []));
|
|
37
|
+
builder.properQualifiers = ctx.prototypeInfo.properQualifiers ?? {};
|
|
38
|
+
builder.multiInstanceConstructorIndex = PrototypeUtil.getMultiInstanceConstructorIndex(clazz);
|
|
39
|
+
builder.multiInstanceConstructorAttributes = PrototypeUtil.getMultiInstanceConstructorAttributes(clazz);
|
|
40
|
+
return builder.build();
|
|
41
|
+
}
|
|
42
|
+
tryFindDefaultPrototype(injectObject) {
|
|
43
|
+
const propertyQualifiers = QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
44
|
+
const multiInstancePropertyQualifiers = this.properQualifiers[injectObject.refName] ?? [];
|
|
45
|
+
return EggPrototypeFactory.instance.getPrototype(injectObject.objName, this.loadUnit, QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers));
|
|
46
|
+
}
|
|
47
|
+
tryFindContextPrototype(injectObject) {
|
|
48
|
+
const propertyQualifiers = QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
49
|
+
const multiInstancePropertyQualifiers = this.properQualifiers[injectObject.refName] ?? [];
|
|
50
|
+
return EggPrototypeFactory.instance.getPrototype(injectObject.objName, this.loadUnit, QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers, [{
|
|
51
|
+
attribute: InitTypeQualifierAttribute,
|
|
52
|
+
value: ObjectInitType.CONTEXT,
|
|
53
|
+
}]));
|
|
54
|
+
}
|
|
55
|
+
tryFindSelfInitTypePrototype(injectObject) {
|
|
56
|
+
const propertyQualifiers = QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
57
|
+
const multiInstancePropertyQualifiers = this.properQualifiers[injectObject.refName] ?? [];
|
|
58
|
+
return EggPrototypeFactory.instance.getPrototype(injectObject.objName, this.loadUnit, QualifierUtil.mergeQualifiers(propertyQualifiers, multiInstancePropertyQualifiers, [{
|
|
59
|
+
attribute: InitTypeQualifierAttribute,
|
|
60
|
+
value: this.initType,
|
|
61
|
+
}]));
|
|
62
|
+
}
|
|
63
|
+
findInjectObjectPrototype(injectObject) {
|
|
64
|
+
const propertyQualifiers = QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
65
|
+
try {
|
|
66
|
+
return this.tryFindDefaultPrototype(injectObject);
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
if (!(e instanceof MultiPrototypeFound && !propertyQualifiers.find(t => t.attribute === InitTypeQualifierAttribute))) {
|
|
70
|
+
throw e;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
return this.tryFindContextPrototype(injectObject);
|
|
75
|
+
}
|
|
76
|
+
catch (e) {
|
|
77
|
+
if (!(e instanceof EggPrototypeNotFound)) {
|
|
78
|
+
throw e;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return this.tryFindSelfInitTypePrototype(injectObject);
|
|
82
|
+
}
|
|
83
|
+
build() {
|
|
84
|
+
const injectObjectProtos = [];
|
|
85
|
+
for (const injectObject of this.injectObjects) {
|
|
86
|
+
const propertyQualifiers = QualifierUtil.getProperQualifiers(this.clazz, injectObject.refName);
|
|
87
|
+
try {
|
|
88
|
+
const proto = this.findInjectObjectPrototype(injectObject);
|
|
89
|
+
let injectObjectProto;
|
|
90
|
+
if (this.injectType === InjectType.PROPERTY) {
|
|
91
|
+
injectObjectProto = {
|
|
92
|
+
refName: injectObject.refName,
|
|
93
|
+
objName: injectObject.objName,
|
|
94
|
+
qualifiers: propertyQualifiers,
|
|
95
|
+
proto,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
injectObjectProto = {
|
|
100
|
+
refIndex: injectObject.refIndex,
|
|
101
|
+
refName: injectObject.refName,
|
|
102
|
+
objName: injectObject.objName,
|
|
103
|
+
qualifiers: propertyQualifiers,
|
|
104
|
+
proto,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
if (injectObject.optional) {
|
|
108
|
+
injectObject.optional = true;
|
|
109
|
+
}
|
|
110
|
+
injectObjectProtos.push(injectObjectProto);
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
if (e instanceof EggPrototypeNotFound && injectObject.optional) {
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
throw e;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const id = IdenticalUtil.createProtoId(this.loadUnit.id, this.name);
|
|
120
|
+
return new 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);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
112
123
|
EggPrototypeCreatorFactory.registerPrototypeCreator(DEFAULT_PROTO_IMPL_TYPE, EggPrototypeBuilder.create);
|
|
113
|
-
|
|
114
|
-
//#endregion
|
|
115
|
-
export { EggPrototypeBuilder };
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbXBsL0VnZ1Byb3RvdHlwZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUEyQixhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWExRyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUUxQixjQUFjLEdBQ2YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLDBCQUEwQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsS0FBSyxDQUFvQjtJQUN6QixJQUFJLENBQW1CO0lBQ3ZCLFFBQVEsQ0FBcUI7SUFDN0IsV0FBVyxDQUFjO0lBQ3pCLFFBQVEsQ0FBUztJQUNqQixVQUFVLENBQXlCO0lBQ25DLGFBQWEsR0FBNEMsRUFBRSxDQUFDO0lBQzVELFFBQVEsQ0FBVztJQUNuQixVQUFVLEdBQW9CLEVBQUUsQ0FBQztJQUNqQyxnQkFBZ0IsR0FBeUMsRUFBRSxDQUFDO0lBQzVELFNBQVMsQ0FBVTtJQUNuQiw2QkFBNkIsQ0FBVTtJQUN2QyxrQ0FBa0MsQ0FBd0I7SUFFbEUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFpQztRQUM3QyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNoQyxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLEtB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
|
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
constructEggObject(...args: any): object;
|
|
25
|
-
getMetaData<T>(metadataKey: MetaDataKey): T | undefined;
|
|
1
|
+
import { InjectType, type QualifierAttribute } from '@eggjs/core-decorator';
|
|
2
|
+
import type { AccessLevel, EggProtoImplClass, EggPrototype, EggPrototypeName, Id, InjectConstructorProto, InjectObjectProto, MetaDataKey, ObjectInitTypeLike, QualifierInfo, QualifierValue } from '@eggjs/tegg-types';
|
|
3
|
+
export declare class EggPrototypeImpl 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
|
+
[key: symbol]: PropertyDescriptor;
|
|
18
|
+
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[]);
|
|
19
|
+
verifyQualifiers(qualifiers: QualifierInfo[]): boolean;
|
|
20
|
+
verifyQualifier(qualifier: QualifierInfo): boolean;
|
|
21
|
+
getQualifier(attribute: string): QualifierValue | undefined;
|
|
22
|
+
constructEggObject(...args: any): object;
|
|
23
|
+
getMetaData<T>(metadataKey: MetaDataKey): T | undefined;
|
|
26
24
|
}
|
|
27
|
-
//#endregion
|
|
28
|
-
export { EggPrototypeImpl };
|
|
@@ -1,52 +1,53 @@
|
|
|
1
|
-
import { InjectType, MetadataUtil } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
1
|
+
import { InjectType, MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
+
export class EggPrototypeImpl {
|
|
3
|
+
clazz;
|
|
4
|
+
qualifiers;
|
|
5
|
+
filepath;
|
|
6
|
+
id;
|
|
7
|
+
name;
|
|
8
|
+
initType;
|
|
9
|
+
accessLevel;
|
|
10
|
+
injectObjects;
|
|
11
|
+
injectType;
|
|
12
|
+
loadUnitId;
|
|
13
|
+
className;
|
|
14
|
+
multiInstanceConstructorIndex;
|
|
15
|
+
multiInstanceConstructorAttributes;
|
|
16
|
+
constructor(id, name, clazz, filepath, initType, accessLevel, injectObjectMap, loadUnitId, qualifiers, className, injectType, multiInstanceConstructorIndex, multiInstanceConstructorAttributes) {
|
|
17
|
+
this.id = id;
|
|
18
|
+
this.clazz = clazz;
|
|
19
|
+
this.name = name;
|
|
20
|
+
this.filepath = filepath;
|
|
21
|
+
this.initType = initType;
|
|
22
|
+
this.accessLevel = accessLevel;
|
|
23
|
+
this.injectObjects = injectObjectMap;
|
|
24
|
+
this.loadUnitId = loadUnitId;
|
|
25
|
+
this.qualifiers = qualifiers;
|
|
26
|
+
this.className = className;
|
|
27
|
+
this.injectType = injectType || InjectType.PROPERTY;
|
|
28
|
+
this.multiInstanceConstructorIndex = multiInstanceConstructorIndex;
|
|
29
|
+
this.multiInstanceConstructorAttributes = multiInstanceConstructorAttributes;
|
|
30
|
+
}
|
|
31
|
+
verifyQualifiers(qualifiers) {
|
|
32
|
+
for (const qualifier of qualifiers) {
|
|
33
|
+
if (!this.verifyQualifier(qualifier)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
verifyQualifier(qualifier) {
|
|
40
|
+
const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
|
|
41
|
+
return selfQualifiers?.value === qualifier.value;
|
|
42
|
+
}
|
|
43
|
+
getQualifier(attribute) {
|
|
44
|
+
return this.qualifiers.find(t => t.attribute === attribute)?.value;
|
|
45
|
+
}
|
|
46
|
+
constructEggObject(...args) {
|
|
47
|
+
return Reflect.construct(this.clazz, args);
|
|
48
|
+
}
|
|
49
|
+
getMetaData(metadataKey) {
|
|
50
|
+
return MetadataUtil.getMetaData(metadataKey, this.clazz);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlSW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbXBsL0VnZ1Byb3RvdHlwZUltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQTJCLE1BQU0sdUJBQXVCLENBQUM7QUFlMUYsTUFBTSxPQUFPLGdCQUFnQjtJQUNWLEtBQUssQ0FBb0I7SUFDekIsVUFBVSxDQUFrQjtJQUNwQyxRQUFRLENBQVM7SUFFakIsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFtQjtJQUN2QixRQUFRLENBQXFCO0lBQzdCLFdBQVcsQ0FBYztJQUN6QixhQUFhLENBQW9EO0lBQ2pFLFVBQVUsQ0FBYTtJQUN2QixVQUFVLENBQUs7SUFDZixTQUFTLENBQVU7SUFDbkIsNkJBQTZCLENBQVU7SUFDdkMsa0NBQWtDLENBQXdCO0lBR25FLFlBQ0UsRUFBVSxFQUNWLElBQXNCLEVBQ3RCLEtBQXdCLEVBQ3hCLFFBQWdCLEVBQ2hCLFFBQTRCLEVBQzVCLFdBQXdCLEVBQ3hCLGVBQWtFLEVBQ2xFLFVBQWMsRUFDZCxVQUEyQixFQUMzQixTQUFrQixFQUNsQixVQUF1QixFQUN2Qiw2QkFBc0MsRUFDdEMsa0NBQXlEO1FBRXpELElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUNwRCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsNkJBQTZCLENBQUM7UUFDbkUsSUFBSSxDQUFDLGtDQUFrQyxHQUFHLGtDQUFrQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUEyQjtRQUMxQyxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBd0I7UUFDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RixPQUFPLGNBQWMsRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQztJQUNyRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBRyxJQUFTO1FBQzdCLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUksV0FBd0I7UUFDckMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIn0=
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { EggProtoImplClass, LifecycleHook, LoadUnit, LoadUnitLifecycleContext } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
static clear(): void;
|
|
8
|
-
preCreate(): Promise<void>;
|
|
1
|
+
import type { EggProtoImplClass, LifecycleHook, LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-types';
|
|
2
|
+
export declare class LoadUnitMultiInstanceProtoHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
|
|
3
|
+
static multiInstanceClazzSet: Set<EggProtoImplClass>;
|
|
4
|
+
static setAllClassList(clazzList: readonly EggProtoImplClass[]): void;
|
|
5
|
+
static clear(): void;
|
|
6
|
+
preCreate(): Promise<void>;
|
|
9
7
|
}
|
|
10
|
-
//#endregion
|
|
11
|
-
export { LoadUnitMultiInstanceProtoHook };
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import { PrototypeUtil } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { PrototypeUtil } from '@eggjs/core-decorator';
|
|
2
|
+
export class LoadUnitMultiInstanceProtoHook {
|
|
3
|
+
static multiInstanceClazzSet = new Set();
|
|
4
|
+
static setAllClassList(clazzList) {
|
|
5
|
+
for (const clazz of clazzList) {
|
|
6
|
+
if (PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
|
|
7
|
+
this.multiInstanceClazzSet.add(clazz);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
static clear() {
|
|
12
|
+
this.multiInstanceClazzSet.clear();
|
|
13
|
+
}
|
|
14
|
+
async preCreate() {
|
|
15
|
+
// ...
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRNdWx0aUluc3RhbmNlUHJvdG9Ib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltcGwvTG9hZFVuaXRNdWx0aUluc3RhbmNlUHJvdG9Ib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RCxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLE1BQU0sQ0FBQyxxQkFBcUIsR0FBMkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVqRSxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQXVDO1FBQzVELEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxhQUFhLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDckQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDYixNQUFNO0lBQ1IsQ0FBQyJ9
|
|
@@ -1,38 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
sort(): void;
|
|
1
|
+
import { EggLoadUnitType } from '@eggjs/tegg-types';
|
|
2
|
+
import type { EggProtoImplClass, EggPrototype, LoadUnit, LoadUnitLifecycleContext, QualifierInfo } from '@eggjs/tegg-types';
|
|
3
|
+
import { GlobalGraph } from '../model/index.ts';
|
|
4
|
+
export declare class ModuleGraph {
|
|
5
|
+
private graph;
|
|
6
|
+
clazzList: EggProtoImplClass[];
|
|
7
|
+
readonly unitPath: string;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
constructor(clazzList: EggProtoImplClass[], unitPath: string, name: string);
|
|
10
|
+
private findInjectNode;
|
|
11
|
+
build(): Promise<void>;
|
|
12
|
+
sort(): void;
|
|
14
13
|
}
|
|
15
|
-
declare class ModuleLoadUnit implements LoadUnit {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
14
|
+
export declare class ModuleLoadUnit implements LoadUnit {
|
|
15
|
+
private protoMap;
|
|
16
|
+
private protos;
|
|
17
|
+
private clazzList;
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly name: string;
|
|
20
|
+
readonly unitPath: string;
|
|
21
|
+
readonly type = EggLoadUnitType.MODULE;
|
|
22
|
+
get globalGraph(): GlobalGraph;
|
|
23
|
+
constructor(name: string, unitPath: string);
|
|
24
|
+
private doLoadClazz;
|
|
25
|
+
private loadClazz;
|
|
26
|
+
preLoad(): Promise<void>;
|
|
27
|
+
init(): Promise<void>;
|
|
28
|
+
containPrototype(proto: EggPrototype): boolean;
|
|
29
|
+
getEggPrototype(name: string, qualifiers: QualifierInfo[]): EggPrototype[];
|
|
30
|
+
registerEggPrototype(proto: EggPrototype): void;
|
|
31
|
+
deletePrototype(proto: EggPrototype): void;
|
|
32
|
+
destroy(): Promise<void>;
|
|
33
|
+
iterateEggPrototype(): IterableIterator<EggPrototype>;
|
|
34
|
+
static createModule(ctx: LoadUnitLifecycleContext): ModuleLoadUnit;
|
|
36
35
|
}
|
|
37
|
-
//#endregion
|
|
38
|
-
export { ModuleGraph, ModuleLoadUnit };
|