@eggjs/tegg-plugin 4.0.0-beta.3 → 4.0.0-beta.5

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 (99) hide show
  1. package/README.md +13 -1
  2. package/dist/app/extend/application.d.ts +57 -0
  3. package/dist/app/extend/application.js +72 -0
  4. package/dist/app/extend/application.unittest.d.ts +26 -0
  5. package/dist/app/extend/application.unittest.js +43 -0
  6. package/dist/app/extend/context.d.ts +24 -0
  7. package/dist/app/extend/context.js +30 -0
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +6 -0
  9. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +9 -0
  10. package/dist/app.d.ts +19 -0
  11. package/dist/app.js +57 -0
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.js +5 -0
  14. package/dist/lib/AppLoadUnit.d.ts +23 -0
  15. package/dist/lib/AppLoadUnit.js +78 -0
  16. package/dist/lib/AppLoadUnitInstance.d.ts +24 -0
  17. package/dist/lib/AppLoadUnitInstance.js +69 -0
  18. package/dist/lib/CompatibleUtil.d.ts +18 -0
  19. package/dist/lib/CompatibleUtil.js +96 -0
  20. package/dist/lib/ConfigSourceLoadUnitHook.d.ts +15 -0
  21. package/dist/lib/ConfigSourceLoadUnitHook.js +22 -0
  22. package/dist/lib/EggAppLoader.d.ts +20 -0
  23. package/dist/lib/EggAppLoader.js +106 -0
  24. package/dist/lib/EggCompatibleObject.d.ts +21 -0
  25. package/dist/lib/EggCompatibleObject.js +37 -0
  26. package/dist/lib/EggCompatibleProtoImpl.d.ts +25 -0
  27. package/dist/lib/EggCompatibleProtoImpl.js +50 -0
  28. package/dist/lib/EggContextCompatibleHook.d.ts +14 -0
  29. package/dist/lib/EggContextCompatibleHook.js +32 -0
  30. package/dist/lib/EggContextHandler.d.ts +13 -0
  31. package/dist/lib/EggContextHandler.js +29 -0
  32. package/dist/lib/EggContextImpl.d.ts +10 -0
  33. package/dist/lib/EggContextImpl.js +18 -0
  34. package/dist/lib/EggModuleLoader.d.ts +15 -0
  35. package/dist/lib/EggModuleLoader.js +50 -0
  36. package/dist/lib/EggQualifierProtoHook.d.ts +14 -0
  37. package/dist/lib/EggQualifierProtoHook.js +48 -0
  38. package/dist/lib/ModuleConfigLoader.d.ts +12 -0
  39. package/dist/lib/ModuleConfigLoader.js +84 -0
  40. package/dist/lib/ModuleHandler.d.ts +17 -0
  41. package/dist/lib/ModuleHandler.js +46 -0
  42. package/dist/lib/Utils.d.ts +4 -0
  43. package/dist/lib/Utils.js +33 -0
  44. package/dist/lib/ctx_lifecycle_middleware.d.ts +6 -0
  45. package/dist/lib/ctx_lifecycle_middleware.js +27 -0
  46. package/dist/lib/run_in_background.d.ts +7 -0
  47. package/dist/lib/run_in_background.js +52 -0
  48. package/dist/types.d.ts +7 -0
  49. package/dist/types.js +6 -0
  50. package/package.json +63 -45
  51. package/app/extend/application.d.ts +0 -24
  52. package/app/extend/application.js +0 -76
  53. package/app/extend/application.unittest.d.ts +0 -8
  54. package/app/extend/application.unittest.js +0 -51
  55. package/app/extend/context.d.ts +0 -15
  56. package/app/extend/context.js +0 -32
  57. package/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +0 -3
  58. package/app/middleware/tegg_ctx_lifecycle_middleware.js +0 -5
  59. package/app.d.ts +0 -17
  60. package/app.js +0 -63
  61. package/index.d.ts +0 -3
  62. package/index.js +0 -4
  63. package/lib/AppLoadUnit.d.ts +0 -19
  64. package/lib/AppLoadUnit.js +0 -85
  65. package/lib/AppLoadUnitInstance.d.ts +0 -20
  66. package/lib/AppLoadUnitInstance.js +0 -82
  67. package/lib/CompatibleUtil.d.ts +0 -14
  68. package/lib/CompatibleUtil.js +0 -94
  69. package/lib/ConfigSourceLoadUnitHook.d.ts +0 -10
  70. package/lib/ConfigSourceLoadUnitHook.js +0 -20
  71. package/lib/EggAppLoader.d.ts +0 -16
  72. package/lib/EggAppLoader.js +0 -127
  73. package/lib/EggCompatibleObject.d.ts +0 -18
  74. package/lib/EggCompatibleObject.js +0 -41
  75. package/lib/EggCompatibleProtoImpl.d.ts +0 -21
  76. package/lib/EggCompatibleProtoImpl.js +0 -51
  77. package/lib/EggContextCompatibleHook.d.ts +0 -10
  78. package/lib/EggContextCompatibleHook.js +0 -42
  79. package/lib/EggContextHandler.d.ts +0 -9
  80. package/lib/EggContextHandler.js +0 -25
  81. package/lib/EggContextImpl.d.ts +0 -6
  82. package/lib/EggContextImpl.js +0 -15
  83. package/lib/EggModuleLoader.d.ts +0 -11
  84. package/lib/EggModuleLoader.js +0 -53
  85. package/lib/EggQualifierProtoHook.d.ts +0 -10
  86. package/lib/EggQualifierProtoHook.js +0 -50
  87. package/lib/ModuleConfigLoader.d.ts +0 -8
  88. package/lib/ModuleConfigLoader.js +0 -80
  89. package/lib/ModuleHandler.d.ts +0 -13
  90. package/lib/ModuleHandler.js +0 -53
  91. package/lib/Utils.d.ts +0 -1
  92. package/lib/Utils.js +0 -36
  93. package/lib/ctx_lifecycle_middleware.d.ts +0 -2
  94. package/lib/ctx_lifecycle_middleware.js +0 -32
  95. package/lib/run_in_background.d.ts +0 -3
  96. package/lib/run_in_background.js +0 -55
  97. package/lib/types.d.ts +0 -43
  98. package/lib/types.js +0 -2
  99. package/typings/index.d.ts +0 -1
@@ -1,127 +0,0 @@
1
- import { TeggError } from '@eggjs/tegg-metadata';
2
- import { AccessLevel, EggQualifierAttribute, EggType, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ObjectInitType, PrototypeUtil, QualifierUtil, } from '@eggjs/tegg';
3
- import { ObjectUtils } from '@eggjs/tegg-common-util';
4
- import { BackgroundTaskHelper } from '@eggjs/tegg-background-task';
5
- import { EggObjectFactory } from '@eggjs/tegg-dynamic-inject-runtime';
6
- import { ModuleConfigLoader } from './ModuleConfigLoader.js';
7
- import { COMPATIBLE_PROTO_IMPLE_TYPE } from './EggCompatibleProtoImpl.js';
8
- export const APP_CLAZZ_BLACK_LIST = [
9
- 'eggObjectFactory',
10
- 'moduleConfigs',
11
- ];
12
- export const CONTEXT_CLAZZ_BLACK_LIST = [
13
- // just use the app.logger, ctx logger is deprecated.
14
- 'logger',
15
- ];
16
- export const DEFAULT_APP_CLAZZ = [];
17
- export const DEFAULT_CONTEXT_CLAZZ = [
18
- 'user',
19
- ];
20
- export class EggAppLoader {
21
- app;
22
- moduleConfigLoader;
23
- constructor(app) {
24
- this.app = app;
25
- this.moduleConfigLoader = new ModuleConfigLoader(this.app);
26
- }
27
- buildClazz(name, eggType) {
28
- const app = this.app;
29
- let func;
30
- if (eggType === EggType.APP) {
31
- func = function () {
32
- return app[name];
33
- };
34
- }
35
- else {
36
- func = function () {
37
- const ctx = app.currentContext;
38
- if (!ctx) {
39
- // ctx has been destroyed, throw humanize error info
40
- throw TeggError.create(`Can not read property \`${name}\` because egg ctx has been destroyed`, 'read_after_ctx_destroyed');
41
- }
42
- return ctx[name];
43
- };
44
- }
45
- Object.defineProperty(func, 'name', {
46
- value: name,
47
- writable: false,
48
- enumerable: false,
49
- configurable: true,
50
- });
51
- PrototypeUtil.setIsEggPrototype(func);
52
- PrototypeUtil.setFilePath(func, 'mock_file_path');
53
- PrototypeUtil.setProperty(func, {
54
- name,
55
- initType: ObjectInitType.SINGLETON,
56
- accessLevel: AccessLevel.PUBLIC,
57
- protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
58
- });
59
- QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
60
- QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
61
- QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, eggType);
62
- return func;
63
- }
64
- buildAppLoggerClazz(name) {
65
- const app = this.app;
66
- const func = function () {
67
- return app.getLogger(name);
68
- };
69
- Object.defineProperty(func, 'name', {
70
- value: name,
71
- writable: false,
72
- enumerable: false,
73
- configurable: true,
74
- });
75
- PrototypeUtil.setIsEggPrototype(func);
76
- PrototypeUtil.setFilePath(func, 'mock_file_path');
77
- PrototypeUtil.setProperty(func, {
78
- name,
79
- initType: ObjectInitType.SINGLETON,
80
- accessLevel: AccessLevel.PUBLIC,
81
- protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
82
- });
83
- QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
84
- QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
85
- QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
86
- return func;
87
- }
88
- getLoggerNames(ctxClazzNames, singletonClazzNames) {
89
- const loggerNames = Array.from(this.app.loggers.keys());
90
- // filter logger/coreLogger
91
- return loggerNames.filter(t => !ctxClazzNames.includes(t) && !singletonClazzNames.includes(t));
92
- }
93
- async load() {
94
- const app = this.app;
95
- const appProperties = ObjectUtils.getProperties(app);
96
- const contextProperties = ObjectUtils.getProperties(app.context);
97
- // custom plugin may define property conflict with default list
98
- const allSingletonClazzNameSet = new Set([
99
- ...appProperties,
100
- ...DEFAULT_APP_CLAZZ,
101
- ]);
102
- APP_CLAZZ_BLACK_LIST.forEach(t => allSingletonClazzNameSet.delete(t));
103
- const allSingletonClazzNames = Array.from(allSingletonClazzNameSet);
104
- const allContextClazzNamesSet = new Set([
105
- ...contextProperties,
106
- ...DEFAULT_CONTEXT_CLAZZ,
107
- ]);
108
- CONTEXT_CLAZZ_BLACK_LIST.forEach(t => allContextClazzNamesSet.delete(t));
109
- const allContextClazzNames = Array.from(allContextClazzNamesSet);
110
- const loggerNames = this.getLoggerNames(allContextClazzNames, allSingletonClazzNames);
111
- const allSingletonClazzs = allSingletonClazzNames.map(name => this.buildClazz(name, EggType.APP));
112
- const allContextClazzs = allContextClazzNames.map(name => this.buildClazz(name, EggType.CONTEXT));
113
- const appLoggerClazzs = loggerNames.map(name => this.buildAppLoggerClazz(name));
114
- const moduleConfigList = this.moduleConfigLoader.loadModuleConfigList();
115
- return [
116
- ...allSingletonClazzs,
117
- ...allContextClazzs,
118
- ...appLoggerClazzs,
119
- ...moduleConfigList,
120
- // inner helper class list
121
- // TODO: should auto the inner class
122
- BackgroundTaskHelper,
123
- EggObjectFactory,
124
- ];
125
- }
126
- }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQXBwTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnQXBwTG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsV0FBVyxFQUVYLHFCQUFxQixFQUNyQixPQUFPLEVBQ1AsMEJBQTBCLEVBQzFCLDhCQUE4QixFQUM5QixjQUFjLEVBQ2QsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDbEMsa0JBQWtCO0lBQ2xCLGVBQWU7Q0FDaEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHO0lBQ3RDLHFEQUFxRDtJQUNyRCxRQUFRO0NBQ1QsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFhLEVBQUUsQ0FBQztBQUM5QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNuQyxNQUFNO0NBQ1AsQ0FBQztBQUVGLE1BQU0sT0FBTyxZQUFZO0lBQ04sR0FBRyxDQUFjO0lBQ2pCLGtCQUFrQixDQUFxQjtJQUV4RCxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lB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
@@ -1,18 +0,0 @@
1
- import { EggCompatibleProtoImpl } from './EggCompatibleProtoImpl.js';
2
- import { EggObject } from '@eggjs/tegg-runtime';
3
- import { EggObjectName } from '@eggjs/tegg';
4
- import { EggPrototype } from '@eggjs/tegg-metadata';
5
- declare const OBJ: unique symbol;
6
- export declare class EggCompatibleObject implements EggObject {
7
- readonly isReady: boolean;
8
- private [OBJ];
9
- readonly proto: EggCompatibleProtoImpl;
10
- readonly name: EggObjectName;
11
- readonly id: string;
12
- readonly isContext: boolean;
13
- constructor(name: EggObjectName, proto: EggCompatibleProtoImpl);
14
- get obj(): object;
15
- injectProperty(): void;
16
- static createObject(name: EggObjectName, proto: EggPrototype): Promise<EggCompatibleObject>;
17
- }
18
- export {};
@@ -1,41 +0,0 @@
1
- import { EggCompatibleProtoImpl } from './EggCompatibleProtoImpl.js';
2
- import { EggObjectFactory, } from '@eggjs/tegg-runtime';
3
- import { IdenticalUtil, EggType, EggQualifierAttribute } from '@eggjs/tegg';
4
- const OBJ = Symbol('EggCompatibleObject#obj');
5
- export class EggCompatibleObject {
6
- isReady = true;
7
- [OBJ];
8
- proto;
9
- name;
10
- id;
11
- isContext;
12
- constructor(name, proto) {
13
- this.proto = proto;
14
- this.name = name;
15
- this.id = IdenticalUtil.createObjectId(this.proto.id);
16
- this.isContext = this.proto.verifyQualifier({
17
- value: EggType.CONTEXT,
18
- attribute: EggQualifierAttribute,
19
- });
20
- }
21
- // If the egg object is a getter,
22
- // access may have side effect.
23
- // So access egg object lazy.
24
- get obj() {
25
- if (this.isContext) {
26
- return this.proto.constructEggObject();
27
- }
28
- if (!this[OBJ]) {
29
- this[OBJ] = this.proto.constructEggObject();
30
- }
31
- return this[OBJ];
32
- }
33
- injectProperty() {
34
- return;
35
- }
36
- static async createObject(name, proto) {
37
- return new EggCompatibleObject(name, proto);
38
- }
39
- }
40
- EggObjectFactory.registerEggObjectCreateMethod(EggCompatibleProtoImpl, EggCompatibleObject.createObject);
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29tcGF0aWJsZU9iamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ0NvbXBhdGlibGVPYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUVMLGdCQUFnQixHQUNqQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQWlCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUczRixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUU5QyxNQUFNLE9BQU8sbUJBQW1CO0lBQ3JCLE9BQU8sR0FBWSxJQUFJLENBQUM7SUFDekIsQ0FBQyxHQUFHLENBQUMsQ0FBUztJQUNiLEtBQUssQ0FBeUI7SUFDOUIsSUFBSSxDQUFnQjtJQUNwQixFQUFFLENBQVM7SUFDWCxTQUFTLENBQVU7SUFFNUIsWUFBWSxJQUFtQixFQUFFLEtBQTZCO1FBQzVELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1lBQ3RCLFNBQVMsRUFBRSxxQkFBcUI7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlDQUFpQztJQUNqQywrQkFBK0I7SUFDL0IsNkJBQTZCO0lBQzdCLElBQUksR0FBRztRQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBbUIsRUFBRSxLQUFtQjtRQUNoRSxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxFQUFFLEtBQStCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0NBQ0Y7QUFFRCxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQyxzQkFBc0IsRUFBRSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyJ9
@@ -1,21 +0,0 @@
1
- import { AccessLevel, EggProtoImplClass, EggPrototypeName, MetaDataKey, ObjectInitTypeLike, QualifierInfo, Id, QualifierValue } from '@eggjs/tegg';
2
- import { EggPrototype, InjectObjectProto, EggPrototypeLifecycleContext } from '@eggjs/tegg-metadata';
3
- export declare const COMPATIBLE_PROTO_IMPLE_TYPE = "EGG_COMPATIBLE";
4
- export declare class EggCompatibleProtoImpl implements EggPrototype {
5
- [key: symbol]: PropertyDescriptor;
6
- private readonly clazz;
7
- private readonly qualifiers;
8
- readonly id: string;
9
- readonly name: EggPrototypeName;
10
- readonly initType: ObjectInitTypeLike;
11
- readonly accessLevel: AccessLevel;
12
- readonly injectObjects: InjectObjectProto[];
13
- readonly loadUnitId: Id;
14
- constructor(id: string, name: EggPrototypeName, clazz: EggProtoImplClass, initType: ObjectInitTypeLike, loadUnitId: Id, qualifiers: QualifierInfo[]);
15
- verifyQualifiers(qualifiers: QualifierInfo[]): boolean;
16
- verifyQualifier(qualifier: QualifierInfo): boolean;
17
- getQualifier(attribute: string): QualifierValue | undefined;
18
- constructEggObject(): object;
19
- getMetaData<T>(metadataKey: MetaDataKey): T | undefined;
20
- static create(ctx: EggPrototypeLifecycleContext): EggPrototype;
21
- }
@@ -1,51 +0,0 @@
1
- import { AccessLevel, MetadataUtil, QualifierUtil, IdenticalUtil, } from '@eggjs/tegg';
2
- export const COMPATIBLE_PROTO_IMPLE_TYPE = 'EGG_COMPATIBLE';
3
- export class EggCompatibleProtoImpl {
4
- clazz;
5
- qualifiers;
6
- id;
7
- name;
8
- initType;
9
- accessLevel;
10
- injectObjects;
11
- loadUnitId;
12
- constructor(id, name, clazz, initType, loadUnitId, qualifiers) {
13
- this.id = id;
14
- this.clazz = clazz;
15
- this.name = name;
16
- this.initType = initType;
17
- this.accessLevel = AccessLevel.PUBLIC;
18
- this.injectObjects = [];
19
- this.loadUnitId = loadUnitId;
20
- this.qualifiers = qualifiers;
21
- }
22
- verifyQualifiers(qualifiers) {
23
- for (const qualifier of qualifiers) {
24
- if (!this.verifyQualifier(qualifier)) {
25
- return false;
26
- }
27
- }
28
- return true;
29
- }
30
- verifyQualifier(qualifier) {
31
- const selfQualifiers = this.qualifiers.find(t => t.attribute === qualifier.attribute);
32
- return selfQualifiers?.value === qualifier.value;
33
- }
34
- getQualifier(attribute) {
35
- return this.qualifiers.find(t => t.attribute === attribute)?.value;
36
- }
37
- constructEggObject() {
38
- return Reflect.apply(this.clazz, null, []);
39
- }
40
- getMetaData(metadataKey) {
41
- return MetadataUtil.getMetaData(metadataKey, this.clazz);
42
- }
43
- static create(ctx) {
44
- const { clazz, loadUnit } = ctx;
45
- const name = ctx.prototypeInfo.name;
46
- const id = IdenticalUtil.createProtoId(loadUnit.id, name);
47
- const proto = new EggCompatibleProtoImpl(id, name, clazz, ctx.prototypeInfo.initType, loadUnit.id, QualifierUtil.mergeQualifiers(QualifierUtil.getProtoQualifiers(clazz), (ctx.prototypeInfo.qualifiers ?? [])));
48
- return proto;
49
- }
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29tcGF0aWJsZVByb3RvSW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ0NvbXBhdGlibGVQcm90b0ltcGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFHWCxZQUFZLEVBR1osYUFBYSxFQUViLGFBQWEsR0FFZCxNQUFNLGFBQWEsQ0FBQztBQVFyQixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxnQkFBZ0IsQ0FBQztBQUU1RCxNQUFNLE9BQU8sc0JBQXNCO0lBRWhCLEtBQUssQ0FBb0I7SUFDekIsVUFBVSxDQUFrQjtJQUVwQyxFQUFFLENBQVM7SUFDWCxJQUFJLENBQW1CO0lBQ3ZCLFFBQVEsQ0FBcUI7SUFDN0IsV0FBVyxDQUFjO0lBQ3pCLGFBQWEsQ0FBc0I7SUFDbkMsVUFBVSxDQUFLO0lBRXhCLFlBQ0UsRUFBVSxFQUNWLElBQXNCLEVBQ3RCLEtBQXdCLEVBQ3hCLFFBQTRCLEVBQzVCLFVBQWMsRUFDZCxVQUEyQjtRQUUzQixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBMkI7UUFDMUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQXdCO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsT0FBTyxjQUFjLEVBQUUsS0FBSyxLQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELFlBQVksQ0FBQyxTQUFpQjtRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDckUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFdBQVcsQ0FBSSxXQUF3QjtRQUNyQyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFpQztRQUM3QyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNoQyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUNwQyxNQUFNLEVBQUUsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxzQkFBc0IsQ0FDdEMsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsZUFBZSxDQUNyRixhQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQ3ZDLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQ3JDLENBQ0YsQ0FBQztRQUNGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIn0=
@@ -1,10 +0,0 @@
1
- import { LifecycleHook } from '@eggjs/tegg';
2
- import { EggContext, EggContextLifecycleContext } from '@eggjs/tegg-runtime';
3
- import { ModuleHandler } from './ModuleHandler.js';
4
- export declare class EggContextCompatibleHook implements LifecycleHook<EggContextLifecycleContext, EggContext> {
5
- private readonly moduleHandler;
6
- private requestProtoList;
7
- constructor(moduleHandler: ModuleHandler);
8
- preCreate(_: unknown, ctx: EggContext): Promise<void>;
9
- postCreate(_: unknown, ctx: EggContext): Promise<void>;
10
- }
@@ -1,42 +0,0 @@
1
- import { BackgroundTaskHelper, ObjectInitType, PrototypeUtil } from '@eggjs/tegg';
2
- import { EggContainerFactory } from '@eggjs/tegg-runtime';
3
- import { ROOT_PROTO } from '@eggjs/egg-module-common';
4
- export class EggContextCompatibleHook {
5
- moduleHandler;
6
- requestProtoList = [];
7
- constructor(moduleHandler) {
8
- this.moduleHandler = moduleHandler;
9
- for (const loadUnitInstance of this.moduleHandler.loadUnitInstances) {
10
- const iterator = loadUnitInstance.loadUnit.iterateEggPrototype();
11
- for (const proto of iterator) {
12
- if (proto.initType === ObjectInitType.CONTEXT) {
13
- this.requestProtoList.push(proto);
14
- }
15
- }
16
- }
17
- }
18
- async preCreate(_, ctx) {
19
- // root proto added in ctxLifecycleMiddleware
20
- if (!ctx.get(ROOT_PROTO)) {
21
- for (const proto of this.requestProtoList) {
22
- ctx.addProtoToCreate(proto.name, proto);
23
- }
24
- }
25
- else {
26
- // Use for ctx.runInBackground.
27
- // BackgroundTaskHelper should get by sync,
28
- // or tegg context may be destroyed before background task run.
29
- // So create it in preCreate.
30
- const protoObj = PrototypeUtil.getClazzProto(BackgroundTaskHelper);
31
- await EggContainerFactory.getOrCreateEggObject(protoObj);
32
- }
33
- }
34
- async postCreate(_, ctx) {
35
- const rootProto = ctx.get(ROOT_PROTO);
36
- if (rootProto) {
37
- // Ensure ContextInitiator be called.
38
- await EggContainerFactory.getOrCreateEggObject(rootProto);
39
- }
40
- }
41
- }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dENvbXBhdGlibGVIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnQ29udGV4dENvbXBhdGlibGVIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBaUIsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQTBDLE1BQU0scUJBQXFCLENBQUM7QUFFbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3RELE1BQU0sT0FBTyx3QkFBd0I7SUFDbEIsYUFBYSxDQUFnQjtJQUN0QyxnQkFBZ0IsR0FBd0IsRUFBRSxDQUFDO0lBRW5ELFlBQVksYUFBNEI7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsS0FBSyxNQUFNLGdCQUFnQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNwRSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNqRSxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM3QixJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUM5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFVLEVBQUUsR0FBZTtRQUN6Qyw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN6QixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMxQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTiwrQkFBK0I7WUFDL0IsMkNBQTJDO1lBQzNDLCtEQUErRDtZQUMvRCw2QkFBNkI7WUFDN0IsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsUUFBd0IsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFVLEVBQUUsR0FBZTtRQUMxQyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxxQ0FBcUM7WUFDckMsTUFBTSxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxTQUF5QixDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
@@ -1,9 +0,0 @@
1
- import { Application } from 'egg';
2
- import { EggContext } from '@eggjs/tegg-runtime';
3
- export declare class EggContextHandler {
4
- private readonly app;
5
- constructor(app: Application);
6
- getContextCallback(): EggContext;
7
- run<R>(eggContext: EggContext, fn: () => Promise<R>): Promise<R>;
8
- register(): void;
9
- }
@@ -1,25 +0,0 @@
1
- import { ContextHandler } from '@eggjs/tegg-runtime';
2
- import { EGG_CONTEXT } from '@eggjs/egg-module-common';
3
- export class EggContextHandler {
4
- app;
5
- constructor(app) {
6
- this.app = app;
7
- }
8
- getContextCallback() {
9
- const ctx = this.app.currentContext;
10
- return ctx?.teggContext;
11
- }
12
- async run(eggContext, fn) {
13
- const ctx = eggContext.get(EGG_CONTEXT);
14
- return await this.app.ctxStorage.run(ctx, fn);
15
- }
16
- register() {
17
- ContextHandler.getContextCallback = () => {
18
- return this.getContextCallback();
19
- };
20
- ContextHandler.runInContextCallback = async (context, fn) => {
21
- return await this.run(context, fn);
22
- };
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJFZ2dDb250ZXh0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFjLE1BQU0scUJBQXFCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE1BQU0sT0FBTyxpQkFBaUI7SUFDWCxHQUFHLENBQWM7SUFFbEMsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBQ3BDLE9BQU8sR0FBRyxFQUFFLFdBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHLENBQUksVUFBc0IsRUFBRSxFQUFvQjtRQUN2RCxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxRQUFRO1FBQ04sY0FBYyxDQUFDLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQztRQUNGLGNBQWMsQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLEVBQUUsT0FBbUIsRUFBRSxFQUFzQixFQUFFLEVBQUU7WUFDMUYsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
@@ -1,6 +0,0 @@
1
- import type { Context } from '@eggjs/core';
2
- import { AbstractEggContext } from '@eggjs/tegg-runtime';
3
- export declare class EggContextImpl extends AbstractEggContext {
4
- readonly id: string;
5
- constructor(ctx: Context);
6
- }
@@ -1,15 +0,0 @@
1
- import { AbstractEggContext } from '@eggjs/tegg-runtime';
2
- import { IdenticalUtil } from '@eggjs/tegg';
3
- import { EGG_CONTEXT, TEGG_CONTEXT } from '@eggjs/egg-module-common';
4
- // TEggContext 的实现
5
- export class EggContextImpl extends AbstractEggContext {
6
- id;
7
- constructor(ctx) {
8
- super();
9
- this.set(EGG_CONTEXT, ctx);
10
- ctx[TEGG_CONTEXT] = this;
11
- const tracer = ctx.tracer;
12
- this.id = IdenticalUtil.createContextId(tracer?.traceId);
13
- }
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dEltcGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJFZ2dDb250ZXh0SW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckUsa0JBQWtCO0FBQ2xCLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBQzNDLEVBQUUsQ0FBUztJQUVwQixZQUFZLEdBQVk7UUFDdEIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQixHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUF5QyxDQUFDO1FBQzdELElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGIn0=
@@ -1,11 +0,0 @@
1
- import { GlobalGraph } from '@eggjs/tegg-metadata';
2
- import { Application } from 'egg';
3
- export declare class EggModuleLoader {
4
- app: Application;
5
- globalGraph: GlobalGraph;
6
- constructor(app: Application);
7
- private loadApp;
8
- private buildAppGraph;
9
- private loadModule;
10
- load(): Promise<void>;
11
- }
@@ -1,53 +0,0 @@
1
- import { EggLoadUnitType, LoadUnitFactory, GlobalGraph, ModuleDescriptorDumper, } from '@eggjs/tegg-metadata';
2
- import { LoaderFactory } from '@eggjs/tegg-loader';
3
- import { EggAppLoader } from './EggAppLoader.js';
4
- export class EggModuleLoader {
5
- app;
6
- globalGraph;
7
- constructor(app) {
8
- this.app = app;
9
- }
10
- async loadApp() {
11
- const loader = new EggAppLoader(this.app);
12
- const loadUnit = await LoadUnitFactory.createLoadUnit(this.app.baseDir, EggLoadUnitType.APP, loader);
13
- this.app.moduleHandler.loadUnits.push(loadUnit);
14
- }
15
- async buildAppGraph() {
16
- for (const plugin of Object.values(this.app.plugins)) {
17
- if (!plugin.enable)
18
- continue;
19
- const modulePlugin = this.app.moduleReferences.find(t => t.path === plugin.path);
20
- if (modulePlugin) {
21
- modulePlugin.optional = false;
22
- }
23
- }
24
- const moduleDescriptors = await LoaderFactory.loadApp(this.app.moduleReferences);
25
- for (const moduleDescriptor of moduleDescriptors) {
26
- ModuleDescriptorDumper.dump(moduleDescriptor, {
27
- dumpDir: this.app.baseDir,
28
- }).catch(e => {
29
- e.message = 'dump module descriptor failed: ' + e.message;
30
- this.app.logger.warn(e);
31
- });
32
- }
33
- const graph = await GlobalGraph.create(moduleDescriptors);
34
- return graph;
35
- }
36
- async loadModule() {
37
- this.globalGraph.build();
38
- this.globalGraph.sort();
39
- const moduleConfigList = this.globalGraph.moduleConfigList;
40
- for (const moduleConfig of moduleConfigList) {
41
- const modulePath = moduleConfig.path;
42
- const loader = LoaderFactory.createLoader(modulePath, EggLoadUnitType.MODULE);
43
- const loadUnit = await LoadUnitFactory.createLoadUnit(modulePath, EggLoadUnitType.MODULE, loader);
44
- this.app.moduleHandler.loadUnits.push(loadUnit);
45
- }
46
- }
47
- async load() {
48
- GlobalGraph.instance = this.globalGraph = await this.buildAppGraph();
49
- await this.loadApp();
50
- await this.loadModule();
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnTW9kdWxlTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnTW9kdWxlTG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLFdBQVcsRUFBRSxzQkFBc0IsR0FDcEMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE1BQU0sT0FBTyxlQUFlO0lBQzFCLEdBQUcsQ0FBYztJQUNqQixXQUFXLENBQWM7SUFFekIsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNqQixDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQU87UUFDbkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sUUFBUSxHQUFHLE1BQU0sZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhO1FBQ3pCLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2dCQUFFLFNBQVM7WUFDN0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRixJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixZQUFZLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqRixLQUFLLE1BQU0sZ0JBQWdCLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNqRCxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzVDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU87YUFDMUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxDQUFDLENBQUMsT0FBTyxHQUFHLGlDQUFpQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQzFELElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLFdBQVcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMxRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDO1FBQzNELEtBQUssTUFBTSxZQUFZLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JFLE1BQU0sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzFCLENBQUM7Q0FDRiJ9
@@ -1,10 +0,0 @@
1
- import { LoadUnitLifecycleContext, LoadUnit } from '@eggjs/tegg-metadata';
2
- import { LifecycleHook } from '@eggjs/tegg';
3
- import { Application } from 'egg';
4
- export declare class EggQualifierProtoHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
5
- private readonly app;
6
- constructor(app: Application);
7
- preCreate(ctx: LoadUnitLifecycleContext): Promise<void>;
8
- private isAppObject;
9
- private isCtxObject;
10
- }
@@ -1,50 +0,0 @@
1
- import { PrototypeUtil, QualifierUtil, EggQualifierAttribute, EggType, } from '@eggjs/tegg';
2
- import { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ, } from './EggAppLoader.js';
3
- import { ObjectUtils } from '@eggjs/tegg-common-util';
4
- export class EggQualifierProtoHook {
5
- app;
6
- constructor(app) {
7
- this.app = app;
8
- }
9
- async preCreate(ctx) {
10
- const clazzList = await ctx.loader.load();
11
- const appProperties = ObjectUtils.getProperties(this.app);
12
- const ctxProperties = ObjectUtils.getProperties(this.app.context);
13
- for (const clazz of clazzList) {
14
- for (const injectObject of PrototypeUtil.getInjectObjects(clazz) || []) {
15
- const propertyQualifiers = QualifierUtil.getProperQualifiers(clazz, injectObject.refName);
16
- const hasEggQualifier = propertyQualifiers.find(t => t.attribute === EggQualifierAttribute);
17
- if (hasEggQualifier) {
18
- continue;
19
- }
20
- if (this.isCtxObject(injectObject.objName, ctxProperties)) {
21
- QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.CONTEXT);
22
- }
23
- else if (this.isAppObject(injectObject.objName, appProperties)) {
24
- QualifierUtil.addProperQualifier(clazz, injectObject.refName, EggQualifierAttribute, EggType.APP);
25
- }
26
- }
27
- }
28
- }
29
- isAppObject(name, appProperties) {
30
- name = String(name);
31
- if (APP_CLAZZ_BLACK_LIST.includes(name)) {
32
- return false;
33
- }
34
- if (DEFAULT_APP_CLAZZ.includes(name)) {
35
- return true;
36
- }
37
- return appProperties.includes(name);
38
- }
39
- isCtxObject(name, ctxProperties) {
40
- name = String(name);
41
- if (CONTEXT_CLAZZ_BLACK_LIST.includes(name)) {
42
- return false;
43
- }
44
- if (DEFAULT_CONTEXT_CLAZZ.includes(name)) {
45
- return true;
46
- }
47
- return ctxProperties.includes(name);
48
- }
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUXVhbGlmaWVyUHJvdG9Ib29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnUXVhbGlmaWVyUHJvdG9Ib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixPQUFPLEdBQ1IsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN0QixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxNQUFNLE9BQU8scUJBQXFCO0lBQ2YsR0FBRyxDQUFjO0lBRWxDLFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBNkI7UUFDM0MsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFELE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRSxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzlCLEtBQUssTUFBTSxZQUFZLElBQUksYUFBYSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUN2RSxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMxRixNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLHFCQUFxQixDQUFDLENBQUM7Z0JBQzVGLElBQUksZUFBZSxFQUFFLENBQUM7b0JBQ3BCLFNBQVM7Z0JBQ1gsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsRUFBRSxDQUFDO29CQUMxRCxhQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4RyxDQUFDO3FCQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLENBQUM7b0JBQ2pFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3BHLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsSUFBaUIsRUFBRSxhQUF1QjtRQUM1RCxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksb0JBQW9CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxJQUFpQixFQUFFLGFBQXVCO1FBQzVELElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1QyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0YifQ==
@@ -1,8 +0,0 @@
1
- import { EggProtoImplClass } from '@eggjs/tegg';
2
- import { Application } from 'egg';
3
- export declare class ModuleConfigLoader {
4
- readonly app: Application;
5
- constructor(app: Application);
6
- private loadModuleConfigs;
7
- loadModuleConfigList(): EggProtoImplClass[];
8
- }
@@ -1,80 +0,0 @@
1
- import { AccessLevel, EggQualifierAttribute, EggType, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ModuleConfigs, ObjectInitType, PrototypeUtil, QualifierUtil, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
2
- import { ModuleConfigUtil } from '@eggjs/tegg/helper';
3
- import { COMPATIBLE_PROTO_IMPLE_TYPE } from './EggCompatibleProtoImpl.js';
4
- import { extend } from 'extend2';
5
- export class ModuleConfigLoader {
6
- app;
7
- constructor(app) {
8
- this.app = app;
9
- }
10
- loadModuleConfigs(moduleConfigMap) {
11
- const moduleConfigs = new ModuleConfigs(moduleConfigMap);
12
- const func = function () {
13
- return moduleConfigs;
14
- };
15
- const name = 'moduleConfigs';
16
- Object.defineProperty(func, 'name', {
17
- value: name,
18
- writable: false,
19
- enumerable: false,
20
- configurable: true,
21
- });
22
- PrototypeUtil.setIsEggPrototype(func);
23
- PrototypeUtil.setFilePath(func, 'mock_file_path');
24
- PrototypeUtil.setProperty(func, {
25
- name,
26
- initType: ObjectInitType.SINGLETON,
27
- accessLevel: AccessLevel.PUBLIC,
28
- protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
29
- });
30
- QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
31
- QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
32
- QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
33
- return func;
34
- }
35
- loadModuleConfigList() {
36
- const result = [];
37
- const moduleConfigMap = {};
38
- for (const reference of this.app.moduleReferences) {
39
- const moduleName = ModuleConfigUtil.readModuleNameSync(reference.path);
40
- const defaultConfig = ModuleConfigUtil.loadModuleConfigSync(reference.path, undefined, this.app.config.env);
41
- // @eggjs/tegg-config moduleConfigs[module].config overwrite
42
- const config = extend(true, {}, defaultConfig, this.app.moduleConfigs[moduleName]?.config);
43
- moduleConfigMap[moduleName] = {
44
- name: moduleName,
45
- reference: {
46
- name: moduleName,
47
- path: reference.path,
48
- },
49
- config,
50
- };
51
- const func = function () {
52
- return config;
53
- };
54
- const name = 'moduleConfig';
55
- Object.defineProperty(func, 'name', {
56
- value: name,
57
- writable: false,
58
- enumerable: false,
59
- configurable: true,
60
- });
61
- PrototypeUtil.setIsEggPrototype(func);
62
- PrototypeUtil.setFilePath(func, 'mock_file_path');
63
- PrototypeUtil.setProperty(func, {
64
- name,
65
- initType: ObjectInitType.SINGLETON,
66
- accessLevel: AccessLevel.PUBLIC,
67
- protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
68
- });
69
- QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
70
- QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
71
- QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
72
- QualifierUtil.addProtoQualifier(func, ConfigSourceQualifierAttribute, moduleName);
73
- result.push(func);
74
- }
75
- const moduleConfigs = this.loadModuleConfigs(moduleConfigMap);
76
- result.push(moduleConfigs);
77
- return result;
78
- }
79
- }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlQ29uZmlnTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTW9kdWxlQ29uZmlnTG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgscUJBQXFCLEVBQ3JCLE9BQU8sRUFDUCwwQkFBMEIsRUFDMUIsOEJBQThCLEVBQUUsYUFBYSxFQUM3QyxjQUFjLEVBQ2QsYUFBYSxFQUNiLGFBQWEsRUFDTyw4QkFBOEIsR0FDbkQsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFMUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVqQyxNQUFNLE9BQU8sa0JBQWtCO0lBQ1I7SUFBckIsWUFBcUIsR0FBZ0I7UUFBaEIsUUFBRyxHQUFILEdBQUcsQ0FBYTtJQUNyQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsZUFBbUQ7UUFDM0UsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFJLEdBQXNCO1lBQzlCLE9BQU8sYUFBYSxDQUFDO1FBQ3ZCLENBQVEsQ0FBQztRQUNULE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM3QixNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xELGFBQWEsQ0FBQyxXQUFXLENB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
@@ -1,13 +0,0 @@
1
- import { Base } from 'sdk-base';
2
- import { Application } from 'egg';
3
- import { LoadUnit } from '@eggjs/tegg-metadata';
4
- import { LoadUnitInstance } from '@eggjs/tegg-runtime';
5
- export declare class ModuleHandler extends Base {
6
- loadUnits: LoadUnit[];
7
- loadUnitInstances: LoadUnitInstance[];
8
- private readonly loadUnitLoader;
9
- private readonly app;
10
- constructor(app: Application);
11
- init(): Promise<void>;
12
- destroy(): Promise<void>;
13
- }