@eggjs/tegg-metadata 3.51.2 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +22 -21
- package/src/errors.js +27 -0
- package/{dist/src → src}/factory/EggPrototypeCreatorFactory.d.ts +1 -1
- package/src/factory/EggPrototypeCreatorFactory.js +103 -0
- package/src/factory/EggPrototypeFactory.js +52 -0
- package/src/factory/LoadUnitFactory.js +59 -0
- package/src/factory/index.d.ts +3 -0
- package/src/factory/index.js +4 -0
- package/src/impl/EggPrototypeBuilder.js +124 -0
- package/{dist/src → src}/impl/EggPrototypeImpl.d.ts +1 -0
- package/src/impl/EggPrototypeImpl.js +53 -0
- package/src/impl/LoadUnitMultiInstanceProtoHook.js +18 -0
- package/{dist/src → src}/impl/ModuleLoadUnit.d.ts +2 -2
- package/src/impl/ModuleLoadUnit.js +268 -0
- package/src/impl/index.d.ts +4 -0
- package/src/impl/index.js +5 -0
- package/src/index.d.ts +6 -0
- package/src/index.js +7 -0
- package/{dist/src → src}/model/AppGraph.d.ts +4 -3
- package/src/model/AppGraph.js +264 -0
- package/src/model/EggPrototype.js +3 -0
- package/src/model/LoadUnit.js +3 -0
- package/src/model/ModuleDescriptor.js +38 -0
- package/src/model/ProtoDescriptor/AbstractProtoDescriptor.js +30 -0
- package/{dist/src → src}/model/ProtoDescriptor/ClassProtoDescriptor.d.ts +1 -1
- package/src/model/ProtoDescriptor/ClassProtoDescriptor.js +30 -0
- package/src/model/ProtoDescriptor/index.d.ts +2 -0
- package/src/model/ProtoDescriptor/index.js +3 -0
- package/{dist/src → src}/model/ProtoDescriptorHelper.d.ts +3 -3
- package/src/model/ProtoDescriptorHelper.js +129 -0
- package/{dist/src → src}/model/graph/GlobalGraph.d.ts +4 -4
- package/src/model/graph/GlobalGraph.js +233 -0
- package/{dist/src → src}/model/graph/GlobalModuleNode.d.ts +1 -1
- package/src/model/graph/GlobalModuleNode.js +38 -0
- package/{dist/src → src}/model/graph/GlobalModuleNodeBuilder.d.ts +2 -2
- package/src/model/graph/GlobalModuleNodeBuilder.js +53 -0
- package/{dist/src → src}/model/graph/ProtoNode.d.ts +1 -1
- package/src/model/graph/ProtoNode.js +37 -0
- package/src/model/graph/ProtoSelector.js +2 -0
- package/src/model/graph/index.d.ts +5 -0
- package/src/model/graph/index.js +6 -0
- package/src/model/index.d.ts +7 -0
- package/src/model/index.js +8 -0
- package/src/util/ClassUtil.js +17 -0
- package/src/util/index.d.ts +1 -0
- package/src/util/index.js +2 -0
- package/dist/index.d.ts +0 -21
- package/dist/index.js +0 -38
- package/dist/src/errors.js +0 -34
- package/dist/src/factory/EggPrototypeCreatorFactory.js +0 -104
- package/dist/src/factory/EggPrototypeFactory.js +0 -58
- package/dist/src/factory/LoadUnitFactory.js +0 -63
- package/dist/src/impl/EggPrototypeBuilder.js +0 -128
- package/dist/src/impl/EggPrototypeImpl.js +0 -45
- package/dist/src/impl/LoadUnitMultiInstanceProtoHook.js +0 -24
- package/dist/src/impl/ModuleLoadUnit.js +0 -259
- package/dist/src/model/AppGraph.js +0 -262
- package/dist/src/model/EggPrototype.js +0 -6
- package/dist/src/model/LoadUnit.js +0 -6
- package/dist/src/model/ModuleDescriptor.js +0 -46
- package/dist/src/model/ProtoDescriptor/AbstractProtoDescriptor.js +0 -21
- package/dist/src/model/ProtoDescriptor/ClassProtoDescriptor.js +0 -32
- package/dist/src/model/ProtoDescriptorHelper.js +0 -143
- package/dist/src/model/graph/GlobalGraph.js +0 -213
- package/dist/src/model/graph/GlobalModuleNode.js +0 -36
- package/dist/src/model/graph/GlobalModuleNodeBuilder.js +0 -53
- package/dist/src/model/graph/ProtoNode.js +0 -39
- package/dist/src/model/graph/ProtoSelector.js +0 -3
- package/dist/src/util/ClassUtil.js +0 -21
- /package/{dist/src → src}/errors.d.ts +0 -0
- /package/{dist/src → src}/factory/EggPrototypeFactory.d.ts +0 -0
- /package/{dist/src → src}/factory/LoadUnitFactory.d.ts +0 -0
- /package/{dist/src → src}/impl/EggPrototypeBuilder.d.ts +0 -0
- /package/{dist/src → src}/impl/LoadUnitMultiInstanceProtoHook.d.ts +0 -0
- /package/{dist/src → src}/model/EggPrototype.d.ts +0 -0
- /package/{dist/src → src}/model/LoadUnit.d.ts +0 -0
- /package/{dist/src → src}/model/ModuleDescriptor.d.ts +0 -0
- /package/{dist/src → src}/model/ProtoDescriptor/AbstractProtoDescriptor.d.ts +0 -0
- /package/{dist/src → src}/model/graph/ProtoSelector.d.ts +0 -0
- /package/{dist/src → src}/util/ClassUtil.d.ts +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ModuleConfigUtil } from '@eggjs/tegg-common-util';
|
|
2
|
+
import { ProtoDescriptorHelper } from '../ProtoDescriptorHelper.js';
|
|
3
|
+
import { GlobalModuleNode } from './GlobalModuleNode.js';
|
|
4
|
+
export class GlobalModuleNodeBuilder {
|
|
5
|
+
name;
|
|
6
|
+
unitPath;
|
|
7
|
+
optional;
|
|
8
|
+
protos;
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.name = options.name;
|
|
11
|
+
this.unitPath = options.unitPath;
|
|
12
|
+
this.optional = options.optional;
|
|
13
|
+
this.protos = [];
|
|
14
|
+
}
|
|
15
|
+
addClazz(clazz) {
|
|
16
|
+
const proto = ProtoDescriptorHelper.createByInstanceClazz(clazz, {
|
|
17
|
+
moduleName: this.name,
|
|
18
|
+
unitPath: this.unitPath,
|
|
19
|
+
});
|
|
20
|
+
this.protos.push(proto);
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
async addMultiInstanceClazz(clazz, defineModuleName, defineUnitPath) {
|
|
24
|
+
const protos = await ProtoDescriptorHelper.createByMultiInstanceClazz(clazz, {
|
|
25
|
+
defineModuleName,
|
|
26
|
+
defineUnitPath,
|
|
27
|
+
instanceModuleName: this.name,
|
|
28
|
+
instanceDefineUnitPath: this.unitPath,
|
|
29
|
+
});
|
|
30
|
+
this.protos.push(...protos);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
build() {
|
|
34
|
+
const node = new GlobalModuleNode({
|
|
35
|
+
name: this.name,
|
|
36
|
+
unitPath: this.unitPath,
|
|
37
|
+
optional: this.optional,
|
|
38
|
+
});
|
|
39
|
+
for (const proto of this.protos) {
|
|
40
|
+
node.addProto(proto);
|
|
41
|
+
}
|
|
42
|
+
return node;
|
|
43
|
+
}
|
|
44
|
+
static create(unitPath, optional = false) {
|
|
45
|
+
const name = ModuleConfigUtil.readModuleNameSync(unitPath);
|
|
46
|
+
return new GlobalModuleNodeBuilder({
|
|
47
|
+
name,
|
|
48
|
+
unitPath,
|
|
49
|
+
optional,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsTW9kdWxlTm9kZUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHbG9iYWxNb2R1bGVOb2RlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTJCLE1BQU0sdUJBQXVCLENBQUM7QUFFbEYsTUFBTSxPQUFPLHVCQUF1QjtJQUNqQixJQUFJLENBQVM7SUFDYixRQUFRLENBQVM7SUFDakIsUUFBUSxDQUFVO0lBQ2xCLE1BQU0sQ0FBb0I7SUFFM0MsWUFBWSxPQUFnQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXdCO1FBQy9CLE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRTtZQUMvRCxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxLQUF3QixFQUFFLGdCQUF3QixFQUFFLGNBQXNCO1FBQ3BHLE1BQU0sTUFBTSxHQUFHLE1BQU0scUJBQXFCLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFO1lBQzNFLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2Qsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDN0Isc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDdEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUMsQ0FBQztRQUNILEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBZ0IsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUM5QyxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksdUJBQXVCLENBQUM7WUFDakMsSUFBSTtZQUNKLFFBQVE7WUFDUixRQUFRO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GraphNodeObj, ProtoDescriptor } from '@eggjs/tegg-types';
|
|
2
|
-
import { ProtoSelectorContext } from './ProtoSelector';
|
|
3
2
|
import { EdgeMeta } from '@eggjs/tegg-common-util';
|
|
3
|
+
import { ProtoSelectorContext } from './ProtoSelector.js';
|
|
4
4
|
export declare class ProtoDependencyMeta implements EdgeMeta {
|
|
5
5
|
injectObj: PropertyKey;
|
|
6
6
|
constructor({ injectObj, }: {
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ProtoDescriptorHelper } from '../ProtoDescriptorHelper.js';
|
|
2
|
+
export class ProtoDependencyMeta {
|
|
3
|
+
injectObj;
|
|
4
|
+
constructor({ injectObj, }) {
|
|
5
|
+
this.injectObj = injectObj;
|
|
6
|
+
}
|
|
7
|
+
equal(meta) {
|
|
8
|
+
return this.injectObj === meta.injectObj;
|
|
9
|
+
}
|
|
10
|
+
toString() {
|
|
11
|
+
return `inject ${String(this.injectObj)}`;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class ProtoNode {
|
|
15
|
+
id;
|
|
16
|
+
proto;
|
|
17
|
+
constructor(proto) {
|
|
18
|
+
this.id = ProtoNode.createProtoId(proto);
|
|
19
|
+
this.proto = proto;
|
|
20
|
+
}
|
|
21
|
+
toString() {
|
|
22
|
+
return `${String(this.proto.name)}@${this.proto.instanceDefineUnitPath}`;
|
|
23
|
+
}
|
|
24
|
+
selectProto(ctx) {
|
|
25
|
+
return ProtoDescriptorHelper.selectProto(this.proto, ctx);
|
|
26
|
+
}
|
|
27
|
+
static createProtoId(proto) {
|
|
28
|
+
const id = [
|
|
29
|
+
proto.name,
|
|
30
|
+
proto.instanceModuleName,
|
|
31
|
+
proto.initType,
|
|
32
|
+
...proto.qualifiers.map(t => String(t.attribute) + String(t.value)),
|
|
33
|
+
];
|
|
34
|
+
return id.join('@');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9Ob2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiUHJvdG9Ob2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3BFLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsU0FBUyxDQUFjO0lBRXZCLFlBQVksRUFDVixTQUFTLEdBR1Y7UUFDQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQXlCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzNDLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxVQUFVLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sU0FBUztJQUNYLEVBQUUsQ0FBUztJQUNYLEtBQUssQ0FBa0I7SUFFaEMsWUFBWSxLQUFzQjtRQUNoQyxJQUFJLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBeUI7UUFDbkMsT0FBTyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFzQjtRQUN6QyxNQUFNLEVBQUUsR0FBRztZQUNULEtBQUssQ0FBQyxJQUFJO1lBQ1YsS0FBSyxDQUFDLGtCQUFrQjtZQUN4QixLQUFLLENBQUMsUUFBUTtZQUNkLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEUsQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './GlobalGraph.js';
|
|
2
|
+
export * from './GlobalModuleNode.js';
|
|
3
|
+
export * from './GlobalModuleNodeBuilder.js';
|
|
4
|
+
export * from './ProtoNode.js';
|
|
5
|
+
export * from './ProtoSelector.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUMifQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './graph/index.js';
|
|
2
|
+
export * from './ProtoDescriptor/index.js';
|
|
3
|
+
export * from './AppGraph.js';
|
|
4
|
+
export * from './EggPrototype.js';
|
|
5
|
+
export * from './LoadUnit.js';
|
|
6
|
+
export * from './ModuleDescriptor.js';
|
|
7
|
+
export * from './ProtoDescriptorHelper.js';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './graph/index.js';
|
|
2
|
+
export * from './ProtoDescriptor/index.js';
|
|
3
|
+
export * from './AppGraph.js';
|
|
4
|
+
export * from './EggPrototype.js';
|
|
5
|
+
export * from './LoadUnit.js';
|
|
6
|
+
export * from './ModuleDescriptor.js';
|
|
7
|
+
export * from './ProtoDescriptorHelper.js';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUMifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PrototypeUtil } from '@eggjs/core-decorator';
|
|
2
|
+
export class ClassUtil {
|
|
3
|
+
static classDescription(clazz) {
|
|
4
|
+
const filePath = PrototypeUtil.getFilePath(clazz);
|
|
5
|
+
const name = this.className(clazz);
|
|
6
|
+
let desc = `class:${String(name)}`;
|
|
7
|
+
if (filePath) {
|
|
8
|
+
desc += `@${filePath}`;
|
|
9
|
+
}
|
|
10
|
+
return desc;
|
|
11
|
+
}
|
|
12
|
+
static className(clazz) {
|
|
13
|
+
const property = PrototypeUtil.getProperty(clazz);
|
|
14
|
+
return (property?.name || clazz.name);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3NVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ2xhc3NVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RCxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBd0I7UUFDOUMsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksSUFBSSxHQUFHLFNBQVMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbkMsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLElBQUksSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQXdCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBVyxDQUFDO0lBQ2xELENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ClassUtil.js';
|
package/dist/index.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export * from '@eggjs/tegg-types/metadata';
|
|
2
|
-
export * from './src/factory/EggPrototypeFactory';
|
|
3
|
-
export * from './src/factory/EggPrototypeCreatorFactory';
|
|
4
|
-
export * from './src/factory/LoadUnitFactory';
|
|
5
|
-
export * from './src/model/EggPrototype';
|
|
6
|
-
export * from './src/model/LoadUnit';
|
|
7
|
-
export * from './src/errors';
|
|
8
|
-
export * from './src/util/ClassUtil';
|
|
9
|
-
export * from './src/impl/LoadUnitMultiInstanceProtoHook';
|
|
10
|
-
export * from './src/model/AppGraph';
|
|
11
|
-
export * from './src/model/graph/GlobalGraph';
|
|
12
|
-
export * from './src/model/graph/GlobalModuleNode';
|
|
13
|
-
export * from './src/model/graph/GlobalModuleNodeBuilder';
|
|
14
|
-
export * from './src/model/graph/ProtoNode';
|
|
15
|
-
export * from './src/model/graph/ProtoSelector';
|
|
16
|
-
export * from './src/model/ProtoDescriptor/AbstractProtoDescriptor';
|
|
17
|
-
export * from './src/model/ProtoDescriptor/ClassProtoDescriptor';
|
|
18
|
-
export * from './src/model/ModuleDescriptor';
|
|
19
|
-
export * from './src/model/ProtoDescriptorHelper';
|
|
20
|
-
import './src/impl/ModuleLoadUnit';
|
|
21
|
-
import './src/impl/EggPrototypeBuilder';
|
package/dist/index.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("@eggjs/tegg-types/metadata"), exports);
|
|
18
|
-
__exportStar(require("./src/factory/EggPrototypeFactory"), exports);
|
|
19
|
-
__exportStar(require("./src/factory/EggPrototypeCreatorFactory"), exports);
|
|
20
|
-
__exportStar(require("./src/factory/LoadUnitFactory"), exports);
|
|
21
|
-
__exportStar(require("./src/model/EggPrototype"), exports);
|
|
22
|
-
__exportStar(require("./src/model/LoadUnit"), exports);
|
|
23
|
-
__exportStar(require("./src/errors"), exports);
|
|
24
|
-
__exportStar(require("./src/util/ClassUtil"), exports);
|
|
25
|
-
__exportStar(require("./src/impl/LoadUnitMultiInstanceProtoHook"), exports);
|
|
26
|
-
__exportStar(require("./src/model/AppGraph"), exports);
|
|
27
|
-
__exportStar(require("./src/model/graph/GlobalGraph"), exports);
|
|
28
|
-
__exportStar(require("./src/model/graph/GlobalModuleNode"), exports);
|
|
29
|
-
__exportStar(require("./src/model/graph/GlobalModuleNodeBuilder"), exports);
|
|
30
|
-
__exportStar(require("./src/model/graph/ProtoNode"), exports);
|
|
31
|
-
__exportStar(require("./src/model/graph/ProtoSelector"), exports);
|
|
32
|
-
__exportStar(require("./src/model/ProtoDescriptor/AbstractProtoDescriptor"), exports);
|
|
33
|
-
__exportStar(require("./src/model/ProtoDescriptor/ClassProtoDescriptor"), exports);
|
|
34
|
-
__exportStar(require("./src/model/ModuleDescriptor"), exports);
|
|
35
|
-
__exportStar(require("./src/model/ProtoDescriptorHelper"), exports);
|
|
36
|
-
require("./src/impl/ModuleLoadUnit");
|
|
37
|
-
require("./src/impl/EggPrototypeBuilder");
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTJDO0FBQzNDLG9FQUFrRDtBQUNsRCwyRUFBeUQ7QUFDekQsZ0VBQThDO0FBQzlDLDJEQUF5QztBQUN6Qyx1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLHVEQUFxQztBQUNyQyw0RUFBMEQ7QUFDMUQsdURBQXFDO0FBRXJDLGdFQUE4QztBQUM5QyxxRUFBbUQ7QUFDbkQsNEVBQTBEO0FBQzFELDhEQUE0QztBQUM1QyxrRUFBZ0Q7QUFDaEQsc0ZBQW9FO0FBQ3BFLG1GQUFpRTtBQUNqRSwrREFBNkM7QUFDN0Msb0VBQWtEO0FBRWxELHFDQUFtQztBQUNuQywwQ0FBd0MifQ==
|
package/dist/src/errors.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IncompatibleProtoInject = exports.MultiPrototypeFound = exports.EggPrototypeNotFound = exports.TeggError = void 0;
|
|
4
|
-
const egg_errors_1 = require("egg-errors");
|
|
5
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
6
|
-
class TeggError extends egg_errors_1.FrameworkBaseError {
|
|
7
|
-
get module() {
|
|
8
|
-
return 'TEGG';
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
exports.TeggError = TeggError;
|
|
12
|
-
class EggPrototypeNotFound extends TeggError {
|
|
13
|
-
constructor(protoName, loadUnitId) {
|
|
14
|
-
const msg = loadUnitId
|
|
15
|
-
? `Object ${String(protoName)} not found in ${loadUnitId}`
|
|
16
|
-
: `Object ${String(protoName)} not found`;
|
|
17
|
-
super(msg, tegg_types_1.ErrorCodes.EGG_PROTO_NOT_FOUND);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.EggPrototypeNotFound = EggPrototypeNotFound;
|
|
21
|
-
class MultiPrototypeFound extends TeggError {
|
|
22
|
-
constructor(name, qualifier, result) {
|
|
23
|
-
const msg = `multi proto found for name:${String(name)} and qualifiers ${JSON.stringify(qualifier)}${result ? `, result is ${result}` : ''}`;
|
|
24
|
-
super(msg, tegg_types_1.ErrorCodes.MULTI_PROTO_FOUND);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.MultiPrototypeFound = MultiPrototypeFound;
|
|
28
|
-
class IncompatibleProtoInject extends TeggError {
|
|
29
|
-
constructor(msg) {
|
|
30
|
-
super(msg, tegg_types_1.ErrorCodes.INCOMPATIBLE_PROTO_INJECT);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.IncompatibleProtoInject = IncompatibleProtoInject;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBZ0Q7QUFDaEQsa0RBQStDO0FBRy9DLE1BQWEsU0FBVSxTQUFRLCtCQUFrQjtJQUMvQyxJQUFJLE1BQU07UUFDUixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFKRCw4QkFJQztBQUVELE1BQWEsb0JBQXFCLFNBQVEsU0FBUztJQUNqRCxZQUFZLFNBQTJCLEVBQUUsVUFBOEI7UUFDckUsTUFBTSxHQUFHLEdBQUcsVUFBVTtZQUNwQixDQUFDLENBQUMsVUFBVSxNQUFNLENBQUMsU0FBUyxDQUFDLGlCQUFpQixVQUFVLEVBQUU7WUFDMUQsQ0FBQyxDQUFDLFVBQVUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUM7UUFDNUMsS0FBSyxDQUFDLEdBQUcsRUFBRSx1QkFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBUEQsb0RBT0M7QUFFRCxNQUFhLG1CQUFvQixTQUFRLFNBQVM7SUFDaEQsWUFBWSxJQUFzQixFQUFFLFNBQTBCLEVBQUUsTUFBZTtRQUM3RSxNQUFNLEdBQUcsR0FBRyw4QkFBOEIsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLGVBQWUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdJLEtBQUssQ0FBQyxHQUFHLEVBQUUsdUJBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQUxELGtEQUtDO0FBRUQsTUFBYSx1QkFBd0IsU0FBUSxTQUFTO0lBQ3BELFlBQVksR0FBVztRQUNyQixLQUFLLENBQUMsR0FBRyxFQUFFLHVCQUFVLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0Y7QUFKRCwwREFJQyJ9
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EggPrototypeCreatorFactory = void 0;
|
|
4
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
5
|
-
const EggPrototype_1 = require("../model/EggPrototype");
|
|
6
|
-
class EggPrototypeCreatorFactory {
|
|
7
|
-
static registerPrototypeCreator(type, creator) {
|
|
8
|
-
this.creatorMap.set(type, creator);
|
|
9
|
-
}
|
|
10
|
-
static getPrototypeCreator(type) {
|
|
11
|
-
return this.creatorMap.get(type);
|
|
12
|
-
}
|
|
13
|
-
static async createProto(clazz, loadUnit) {
|
|
14
|
-
let properties = [];
|
|
15
|
-
const defaultQualifier = [{
|
|
16
|
-
attribute: core_decorator_1.InitTypeQualifierAttribute,
|
|
17
|
-
value: core_decorator_1.PrototypeUtil.getInitType(clazz, {
|
|
18
|
-
unitPath: loadUnit.unitPath,
|
|
19
|
-
moduleName: loadUnit.name,
|
|
20
|
-
}),
|
|
21
|
-
}, {
|
|
22
|
-
attribute: core_decorator_1.LoadUnitNameQualifierAttribute,
|
|
23
|
-
value: loadUnit.name,
|
|
24
|
-
}];
|
|
25
|
-
if (core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
|
|
26
|
-
const multiInstanceProtoInfo = core_decorator_1.PrototypeUtil.getMultiInstanceProperty(clazz, {
|
|
27
|
-
unitPath: loadUnit.unitPath,
|
|
28
|
-
moduleName: loadUnit.name,
|
|
29
|
-
});
|
|
30
|
-
for (const obj of multiInstanceProtoInfo.objects) {
|
|
31
|
-
defaultQualifier.forEach(qualifier => {
|
|
32
|
-
if (!obj.qualifiers.find(t => t.attribute === qualifier.attribute)) {
|
|
33
|
-
obj.qualifiers.push(qualifier);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
properties.push({
|
|
37
|
-
name: obj.name,
|
|
38
|
-
protoImplType: multiInstanceProtoInfo.protoImplType,
|
|
39
|
-
initType: multiInstanceProtoInfo.initType,
|
|
40
|
-
accessLevel: multiInstanceProtoInfo.accessLevel,
|
|
41
|
-
qualifiers: obj.qualifiers,
|
|
42
|
-
properQualifiers: obj.properQualifiers,
|
|
43
|
-
className: multiInstanceProtoInfo.className,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
const property = core_decorator_1.PrototypeUtil.getProperty(clazz);
|
|
49
|
-
if (!property.qualifiers) {
|
|
50
|
-
property.qualifiers = [];
|
|
51
|
-
}
|
|
52
|
-
defaultQualifier.forEach(qualifier => {
|
|
53
|
-
if (!property.qualifiers.find(t => t.attribute === qualifier.attribute)) {
|
|
54
|
-
property.qualifiers.push(qualifier);
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
properties = [property];
|
|
58
|
-
}
|
|
59
|
-
const protos = [];
|
|
60
|
-
for (const property of properties) {
|
|
61
|
-
const creator = this.getPrototypeCreator(property.protoImplType);
|
|
62
|
-
if (!creator) {
|
|
63
|
-
throw new Error(`not found proto creator for type: ${property.protoImplType}`);
|
|
64
|
-
}
|
|
65
|
-
const ctx = {
|
|
66
|
-
clazz,
|
|
67
|
-
loadUnit,
|
|
68
|
-
prototypeInfo: property,
|
|
69
|
-
};
|
|
70
|
-
const proto = creator(ctx);
|
|
71
|
-
// TODO release egg prototype
|
|
72
|
-
await EggPrototype_1.EggPrototypeLifecycleUtil.objectPreCreate(ctx, proto);
|
|
73
|
-
if (proto.init) {
|
|
74
|
-
await proto.init(ctx);
|
|
75
|
-
}
|
|
76
|
-
await EggPrototype_1.EggPrototypeLifecycleUtil.objectPostCreate(ctx, proto);
|
|
77
|
-
core_decorator_1.PrototypeUtil.setClazzProto(clazz, proto);
|
|
78
|
-
protos.push(proto);
|
|
79
|
-
}
|
|
80
|
-
return protos;
|
|
81
|
-
}
|
|
82
|
-
static async createProtoByDescriptor(protoDescriptor, loadUnit) {
|
|
83
|
-
const creator = this.getPrototypeCreator(protoDescriptor.protoImplType);
|
|
84
|
-
if (!creator) {
|
|
85
|
-
throw new Error(`not found proto creator for type: ${protoDescriptor.protoImplType}`);
|
|
86
|
-
}
|
|
87
|
-
const ctx = {
|
|
88
|
-
clazz: protoDescriptor.clazz,
|
|
89
|
-
loadUnit,
|
|
90
|
-
prototypeInfo: protoDescriptor,
|
|
91
|
-
};
|
|
92
|
-
const proto = creator(ctx);
|
|
93
|
-
await EggPrototype_1.EggPrototypeLifecycleUtil.objectPreCreate(ctx, proto);
|
|
94
|
-
if (proto.init) {
|
|
95
|
-
await proto.init(ctx);
|
|
96
|
-
}
|
|
97
|
-
await EggPrototype_1.EggPrototypeLifecycleUtil.objectPostCreate(ctx, proto);
|
|
98
|
-
core_decorator_1.PrototypeUtil.setClazzProto(protoDescriptor.clazz, proto);
|
|
99
|
-
return proto;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
exports.EggPrototypeCreatorFactory = EggPrototypeCreatorFactory;
|
|
103
|
-
EggPrototypeCreatorFactory.creatorMap = new Map();
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlQ3JlYXRvckZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZmFjdG9yeS9FZ2dQcm90b3R5cGVDcmVhdG9yRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBa0g7QUFTbEgsd0RBQWtFO0FBR2xFLE1BQWEsMEJBQTBCO0lBR3JDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFZLEVBQUUsT0FBNEI7UUFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBWTtRQUNyQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUF3QixFQUFFLFFBQWtCO1FBQ25FLElBQUksVUFBVSxHQUF1QixFQUFFLENBQUM7UUFDeEMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDO2dCQUN4QixTQUFTLEVBQUUsMkNBQTBCO2dCQUNyQyxLQUFLLEVBQUUsOEJBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFO29CQUN0QyxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7b0JBQzNCLFVBQVUsRUFBRSxRQUFRLENBQUMsSUFBSTtpQkFDMUIsQ0FBRTthQUNKLEVBQUU7Z0JBQ0QsU0FBUyxFQUFFLCtDQUE4QjtnQkFDekMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJO2FBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksOEJBQWEsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JELE1BQU0sc0JBQXNCLEdBQUcsOEJBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQzNFLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtn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
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EggPrototypeFactory = void 0;
|
|
4
|
-
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
5
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
6
|
-
const egg_errors_1 = require("egg-errors");
|
|
7
|
-
const errors_1 = require("../errors");
|
|
8
|
-
class EggPrototypeFactory {
|
|
9
|
-
constructor() {
|
|
10
|
-
// Map<EggObjectInitTypeLike, Map<protoName, EggPrototype>>
|
|
11
|
-
this.publicProtoMap = new Map();
|
|
12
|
-
}
|
|
13
|
-
registerPrototype(proto, loadUnit) {
|
|
14
|
-
if (proto.accessLevel === tegg_types_1.AccessLevel.PUBLIC) {
|
|
15
|
-
const protoList = tegg_common_util_1.MapUtil.getOrStore(this.publicProtoMap, proto.name, []);
|
|
16
|
-
protoList.push(proto);
|
|
17
|
-
}
|
|
18
|
-
loadUnit.registerEggPrototype(proto);
|
|
19
|
-
}
|
|
20
|
-
deletePrototype(proto, loadUnit) {
|
|
21
|
-
if (proto.accessLevel === tegg_types_1.AccessLevel.PUBLIC) {
|
|
22
|
-
const protos = this.publicProtoMap.get(proto.name);
|
|
23
|
-
if (protos) {
|
|
24
|
-
const index = protos.indexOf(proto);
|
|
25
|
-
if (index !== -1) {
|
|
26
|
-
protos.splice(index, 1);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
loadUnit.deletePrototype(proto);
|
|
31
|
-
}
|
|
32
|
-
getPrototype(name, loadUnit, qualifiers) {
|
|
33
|
-
qualifiers = qualifiers || [];
|
|
34
|
-
const protos = this.doGetPrototype(name, qualifiers, loadUnit);
|
|
35
|
-
if (!protos.length) {
|
|
36
|
-
throw egg_errors_1.FrameworkErrorFormater.formatError(new errors_1.EggPrototypeNotFound(name, loadUnit === null || loadUnit === void 0 ? void 0 : loadUnit.id));
|
|
37
|
-
}
|
|
38
|
-
if (protos.length === 1) {
|
|
39
|
-
return protos[0];
|
|
40
|
-
}
|
|
41
|
-
throw egg_errors_1.FrameworkErrorFormater.formatError(new errors_1.MultiPrototypeFound(name, qualifiers));
|
|
42
|
-
}
|
|
43
|
-
doGetPrototype(name, qualifiers, loadUnit) {
|
|
44
|
-
if (loadUnit) {
|
|
45
|
-
// 1. find private proto in load unit
|
|
46
|
-
const protos = loadUnit.getEggPrototype(name, qualifiers);
|
|
47
|
-
if (protos.length) {
|
|
48
|
-
return protos;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
// 2. find public proto in global
|
|
52
|
-
const protos = this.publicProtoMap.get(name);
|
|
53
|
-
return (protos === null || protos === void 0 ? void 0 : protos.filter(proto => proto.verifyQualifiers(qualifiers))) || [];
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.EggPrototypeFactory = EggPrototypeFactory;
|
|
57
|
-
EggPrototypeFactory.instance = new EggPrototypeFactory();
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9mYWN0b3J5L0VnZ1Byb3RvdHlwZUZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQWtEO0FBQ2xELGtEQUFnRDtBQUVoRCwyQ0FBb0Q7QUFDcEQsc0NBQXNFO0FBRXRFLE1BQWEsbUJBQW1CO0lBQWhDO1FBR0UsMkRBQTJEO1FBQ25ELG1CQUFjLEdBQTBDLElBQUksR0FBRyxFQUFFLENBQUM7SUFpRDVFLENBQUM7SUEvQ1EsaUJBQWlCLENBQUMsS0FBbUIsRUFBRSxRQUFrQjtRQUM5RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssd0JBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QyxNQUFNLFNBQVMsR0FBRywwQkFBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUUsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlLENBQUMsS0FBbUIsRUFBRSxRQUFrQjtRQUM1RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssd0JBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkQsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQWlCLEVBQUUsUUFBbUIsRUFBRSxVQUE0QjtRQUN0RixVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUM5QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQixNQUFNLG1DQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLDZCQUFvQixDQUFDLElBQUksRUFBRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFDRCxNQUFNLG1DQUFzQixDQUFDLFdBQVcsQ0FBQyxJQUFJLDRCQUFtQixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBc0IsRUFBRSxVQUEyQixFQUFFLFFBQW1CO1FBQzdGLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixxQ0FBcUM7WUFDckMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDMUQsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7UUFDSCxDQUFDO1FBRUQsaUNBQWlDO1FBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLE9BQU8sQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO0lBQzNFLENBQUM7O0FBcERILGtEQXFEQztBQXBEZSw0QkFBUSxHQUFHLElBQUksbUJBQW1CLEVBQUUsQUFBNUIsQ0FBNkIifQ==
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoadUnitFactory = void 0;
|
|
4
|
-
const LoadUnit_1 = require("../model/LoadUnit");
|
|
5
|
-
class LoadUnitFactory {
|
|
6
|
-
static async getLoanUnit(ctx, type) {
|
|
7
|
-
const creator = LoadUnitFactory.loadUnitCreatorMap.get(type);
|
|
8
|
-
if (!creator) {
|
|
9
|
-
throw new Error(`not find creator for load unit type ${type}`);
|
|
10
|
-
}
|
|
11
|
-
return await creator(ctx);
|
|
12
|
-
}
|
|
13
|
-
static async createLoadUnit(unitPath, type, loader) {
|
|
14
|
-
if (LoadUnitFactory.loadUnitMap.has(unitPath)) {
|
|
15
|
-
return LoadUnitFactory.loadUnitMap.get(unitPath).loadUnit;
|
|
16
|
-
}
|
|
17
|
-
const ctx = {
|
|
18
|
-
unitPath,
|
|
19
|
-
loader,
|
|
20
|
-
};
|
|
21
|
-
const loadUnit = await LoadUnitFactory.getLoanUnit(ctx, type);
|
|
22
|
-
await LoadUnit_1.LoadUnitLifecycleUtil.objectPreCreate(ctx, loadUnit);
|
|
23
|
-
if (loadUnit.init) {
|
|
24
|
-
await loadUnit.init(ctx);
|
|
25
|
-
}
|
|
26
|
-
await LoadUnit_1.LoadUnitLifecycleUtil.objectPostCreate(ctx, loadUnit);
|
|
27
|
-
LoadUnitFactory.loadUnitMap.set(unitPath, { loadUnit, ctx });
|
|
28
|
-
LoadUnitFactory.loadUnitIdMap.set(loadUnit.id, loadUnit);
|
|
29
|
-
return loadUnit;
|
|
30
|
-
}
|
|
31
|
-
static async createPreloadLoadUnit(unitPath, type, loader) {
|
|
32
|
-
const ctx = {
|
|
33
|
-
unitPath,
|
|
34
|
-
loader,
|
|
35
|
-
};
|
|
36
|
-
return await LoadUnitFactory.getLoanUnit(ctx, type);
|
|
37
|
-
}
|
|
38
|
-
static async destroyLoadUnit(loadUnit) {
|
|
39
|
-
const { ctx } = LoadUnitFactory.loadUnitMap.get(loadUnit.unitPath);
|
|
40
|
-
try {
|
|
41
|
-
await LoadUnit_1.LoadUnitLifecycleUtil.objectPreDestroy(ctx, loadUnit);
|
|
42
|
-
if (loadUnit.destroy) {
|
|
43
|
-
await loadUnit.destroy(ctx);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
finally {
|
|
47
|
-
LoadUnitFactory.loadUnitMap.delete(loadUnit.unitPath);
|
|
48
|
-
LoadUnitFactory.loadUnitIdMap.delete(loadUnit.id);
|
|
49
|
-
LoadUnit_1.LoadUnitLifecycleUtil.clearObjectLifecycle(loadUnit);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
static getLoadUnitById(id) {
|
|
53
|
-
return LoadUnitFactory.loadUnitIdMap.get(id);
|
|
54
|
-
}
|
|
55
|
-
static registerLoadUnitCreator(type, creator) {
|
|
56
|
-
LoadUnitFactory.loadUnitCreatorMap.set(type, creator);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.LoadUnitFactory = LoadUnitFactory;
|
|
60
|
-
LoadUnitFactory.loadUnitCreatorMap = new Map();
|
|
61
|
-
LoadUnitFactory.loadUnitMap = new Map();
|
|
62
|
-
LoadUnitFactory.loadUnitIdMap = new Map();
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZhY3RvcnkvTG9hZFVuaXRGYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNBLGdEQUEwRDtBQUUxRCxNQUFhLGVBQWU7SUFLaEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBNkIsRUFBRSxJQUF5QjtRQUN6RixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELE9BQU8sTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQWdCLEVBQUUsSUFBeUIsRUFBRSxNQUFjO1FBQ3JGLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBRSxDQUFDLFFBQVEsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQTZCO1lBQ3BDLFFBQVE7WUFDUixNQUFNO1NBQ1AsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUQsTUFBTSxnQ0FBcUIsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzNELElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLE1BQU0sUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsTUFBTSxnQ0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUQsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDN0QsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6RCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxRQUFnQixFQUFFLElBQXlCLEVBQUUsTUFBYztRQUM1RixNQUFNLEdBQUcsR0FBNkI7WUFDcEMsUUFBUTtZQUNSLE1BQU07U0FDUCxDQUFDO1FBQ0YsT0FBTyxNQUFNLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxRQUFrQjtRQUM3QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQztZQUNILE1BQU0sZ0NBQXFCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzVELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNyQixNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUM7Z0JBQVMsQ0FBQztZQUNULGVBQWUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0RCxlQUFlLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEQsZ0NBQXFCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLEVBQU07UUFDM0IsT0FBTyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLHVCQUF1QixDQUFDLElBQXlCLEVBQUUsT0FBd0I7UUFDaEYsZUFBZSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs7QUE1REgsMENBNkRDO0FBNURnQixrQ0FBa0IsR0FBOEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUMxRSwyQkFBVyxHQUE4QixJQUFJLEdBQUcsRUFBRSxDQUFDO0FBQ25ELDZCQUFhLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUMifQ==
|