@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.
Files changed (80) hide show
  1. package/package.json +22 -21
  2. package/src/errors.js +27 -0
  3. package/{dist/src → src}/factory/EggPrototypeCreatorFactory.d.ts +1 -1
  4. package/src/factory/EggPrototypeCreatorFactory.js +103 -0
  5. package/src/factory/EggPrototypeFactory.js +52 -0
  6. package/src/factory/LoadUnitFactory.js +59 -0
  7. package/src/factory/index.d.ts +3 -0
  8. package/src/factory/index.js +4 -0
  9. package/src/impl/EggPrototypeBuilder.js +124 -0
  10. package/{dist/src → src}/impl/EggPrototypeImpl.d.ts +1 -0
  11. package/src/impl/EggPrototypeImpl.js +53 -0
  12. package/src/impl/LoadUnitMultiInstanceProtoHook.js +18 -0
  13. package/{dist/src → src}/impl/ModuleLoadUnit.d.ts +2 -2
  14. package/src/impl/ModuleLoadUnit.js +268 -0
  15. package/src/impl/index.d.ts +4 -0
  16. package/src/impl/index.js +5 -0
  17. package/src/index.d.ts +6 -0
  18. package/src/index.js +7 -0
  19. package/{dist/src → src}/model/AppGraph.d.ts +4 -3
  20. package/src/model/AppGraph.js +264 -0
  21. package/src/model/EggPrototype.js +3 -0
  22. package/src/model/LoadUnit.js +3 -0
  23. package/src/model/ModuleDescriptor.js +38 -0
  24. package/src/model/ProtoDescriptor/AbstractProtoDescriptor.js +30 -0
  25. package/{dist/src → src}/model/ProtoDescriptor/ClassProtoDescriptor.d.ts +1 -1
  26. package/src/model/ProtoDescriptor/ClassProtoDescriptor.js +30 -0
  27. package/src/model/ProtoDescriptor/index.d.ts +2 -0
  28. package/src/model/ProtoDescriptor/index.js +3 -0
  29. package/{dist/src → src}/model/ProtoDescriptorHelper.d.ts +3 -3
  30. package/src/model/ProtoDescriptorHelper.js +129 -0
  31. package/{dist/src → src}/model/graph/GlobalGraph.d.ts +4 -4
  32. package/src/model/graph/GlobalGraph.js +233 -0
  33. package/{dist/src → src}/model/graph/GlobalModuleNode.d.ts +1 -1
  34. package/src/model/graph/GlobalModuleNode.js +38 -0
  35. package/{dist/src → src}/model/graph/GlobalModuleNodeBuilder.d.ts +2 -2
  36. package/src/model/graph/GlobalModuleNodeBuilder.js +53 -0
  37. package/{dist/src → src}/model/graph/ProtoNode.d.ts +1 -1
  38. package/src/model/graph/ProtoNode.js +37 -0
  39. package/src/model/graph/ProtoSelector.js +2 -0
  40. package/src/model/graph/index.d.ts +5 -0
  41. package/src/model/graph/index.js +6 -0
  42. package/src/model/index.d.ts +7 -0
  43. package/src/model/index.js +8 -0
  44. package/src/util/ClassUtil.js +17 -0
  45. package/src/util/index.d.ts +1 -0
  46. package/src/util/index.js +2 -0
  47. package/dist/index.d.ts +0 -21
  48. package/dist/index.js +0 -38
  49. package/dist/src/errors.js +0 -34
  50. package/dist/src/factory/EggPrototypeCreatorFactory.js +0 -104
  51. package/dist/src/factory/EggPrototypeFactory.js +0 -58
  52. package/dist/src/factory/LoadUnitFactory.js +0 -63
  53. package/dist/src/impl/EggPrototypeBuilder.js +0 -128
  54. package/dist/src/impl/EggPrototypeImpl.js +0 -45
  55. package/dist/src/impl/LoadUnitMultiInstanceProtoHook.js +0 -24
  56. package/dist/src/impl/ModuleLoadUnit.js +0 -259
  57. package/dist/src/model/AppGraph.js +0 -262
  58. package/dist/src/model/EggPrototype.js +0 -6
  59. package/dist/src/model/LoadUnit.js +0 -6
  60. package/dist/src/model/ModuleDescriptor.js +0 -46
  61. package/dist/src/model/ProtoDescriptor/AbstractProtoDescriptor.js +0 -21
  62. package/dist/src/model/ProtoDescriptor/ClassProtoDescriptor.js +0 -32
  63. package/dist/src/model/ProtoDescriptorHelper.js +0 -143
  64. package/dist/src/model/graph/GlobalGraph.js +0 -213
  65. package/dist/src/model/graph/GlobalModuleNode.js +0 -36
  66. package/dist/src/model/graph/GlobalModuleNodeBuilder.js +0 -53
  67. package/dist/src/model/graph/ProtoNode.js +0 -39
  68. package/dist/src/model/graph/ProtoSelector.js +0 -3
  69. package/dist/src/util/ClassUtil.js +0 -21
  70. /package/{dist/src → src}/errors.d.ts +0 -0
  71. /package/{dist/src → src}/factory/EggPrototypeFactory.d.ts +0 -0
  72. /package/{dist/src → src}/factory/LoadUnitFactory.d.ts +0 -0
  73. /package/{dist/src → src}/impl/EggPrototypeBuilder.d.ts +0 -0
  74. /package/{dist/src → src}/impl/LoadUnitMultiInstanceProtoHook.d.ts +0 -0
  75. /package/{dist/src → src}/model/EggPrototype.d.ts +0 -0
  76. /package/{dist/src → src}/model/LoadUnit.d.ts +0 -0
  77. /package/{dist/src → src}/model/ModuleDescriptor.d.ts +0 -0
  78. /package/{dist/src → src}/model/ProtoDescriptor/AbstractProtoDescriptor.d.ts +0 -0
  79. /package/{dist/src → src}/model/graph/ProtoSelector.d.ts +0 -0
  80. /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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9TZWxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlByb3RvU2VsZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,5 @@
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';
@@ -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';
@@ -0,0 +1,2 @@
1
+ export * from './ClassUtil.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDIn0=
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==
@@ -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==