@eggjs/tegg-plugin 4.0.0-beta.2 → 4.0.0-beta.30

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 (81) hide show
  1. package/README.md +13 -1
  2. package/dist/app/extend/application.d.ts +25 -0
  3. package/dist/app/extend/application.js +75 -0
  4. package/dist/app/extend/application.unittest.d.ts +6 -0
  5. package/dist/app/extend/application.unittest.js +52 -0
  6. package/dist/app/extend/context.d.ts +9 -0
  7. package/dist/app/extend/context.js +33 -0
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +3 -0
  9. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +5 -0
  10. package/{app.d.ts → dist/app.d.ts} +5 -5
  11. package/dist/app.js +64 -0
  12. package/dist/index.d.ts +3 -0
  13. package/dist/index.js +4 -0
  14. package/{lib → dist/lib}/AppLoadUnit.d.ts +3 -2
  15. package/dist/lib/AppLoadUnit.js +93 -0
  16. package/{lib → dist/lib}/AppLoadUnitInstance.d.ts +3 -3
  17. package/dist/lib/AppLoadUnitInstance.js +83 -0
  18. package/{lib → dist/lib}/CompatibleUtil.d.ts +9 -4
  19. package/dist/lib/CompatibleUtil.js +104 -0
  20. package/{lib → dist/lib}/ConfigSourceLoadUnitHook.d.ts +2 -2
  21. package/dist/lib/ConfigSourceLoadUnitHook.js +20 -0
  22. package/dist/lib/EggAppLoader.d.ts +16 -0
  23. package/dist/lib/EggAppLoader.js +116 -0
  24. package/{lib → dist/lib}/EggCompatibleObject.d.ts +5 -7
  25. package/dist/lib/EggCompatibleObject.js +43 -0
  26. package/{lib → dist/lib}/EggCompatibleProtoImpl.d.ts +3 -2
  27. package/dist/lib/EggCompatibleProtoImpl.js +52 -0
  28. package/{lib → dist/lib}/EggContextCompatibleHook.d.ts +3 -3
  29. package/dist/lib/EggContextCompatibleHook.js +44 -0
  30. package/{lib → dist/lib}/EggContextHandler.d.ts +3 -3
  31. package/dist/lib/EggContextHandler.js +25 -0
  32. package/{lib → dist/lib}/EggContextImpl.d.ts +1 -1
  33. package/dist/lib/EggContextImpl.js +15 -0
  34. package/{lib → dist/lib}/EggModuleLoader.d.ts +2 -2
  35. package/dist/lib/EggModuleLoader.js +53 -0
  36. package/{lib → dist/lib}/EggQualifierProtoHook.d.ts +3 -3
  37. package/dist/lib/EggQualifierProtoHook.js +60 -0
  38. package/{lib → dist/lib}/ModuleConfigLoader.d.ts +2 -2
  39. package/dist/lib/ModuleConfigLoader.js +80 -0
  40. package/{lib → dist/lib}/ModuleHandler.d.ts +3 -3
  41. package/dist/lib/ModuleHandler.js +52 -0
  42. package/{lib → dist/lib}/Utils.d.ts +1 -1
  43. package/dist/lib/Utils.js +36 -0
  44. package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -0
  45. package/dist/lib/ctx_lifecycle_middleware.js +32 -0
  46. package/{lib → dist/lib}/run_in_background.d.ts +1 -1
  47. package/dist/lib/run_in_background.js +58 -0
  48. package/{lib → dist}/types.d.ts +22 -12
  49. package/{lib → dist}/types.js +2 -2
  50. package/package.json +65 -49
  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.js +0 -63
  60. package/index.d.ts +0 -3
  61. package/index.js +0 -4
  62. package/lib/AppLoadUnit.js +0 -85
  63. package/lib/AppLoadUnitInstance.js +0 -82
  64. package/lib/CompatibleUtil.js +0 -94
  65. package/lib/ConfigSourceLoadUnitHook.js +0 -20
  66. package/lib/EggAppLoader.d.ts +0 -16
  67. package/lib/EggAppLoader.js +0 -127
  68. package/lib/EggCompatibleObject.js +0 -41
  69. package/lib/EggCompatibleProtoImpl.js +0 -51
  70. package/lib/EggContextCompatibleHook.js +0 -42
  71. package/lib/EggContextHandler.js +0 -25
  72. package/lib/EggContextImpl.js +0 -15
  73. package/lib/EggModuleLoader.js +0 -53
  74. package/lib/EggQualifierProtoHook.js +0 -50
  75. package/lib/ModuleConfigLoader.js +0 -80
  76. package/lib/ModuleHandler.js +0 -53
  77. package/lib/Utils.js +0 -36
  78. package/lib/ctx_lifecycle_middleware.d.ts +0 -2
  79. package/lib/ctx_lifecycle_middleware.js +0 -32
  80. package/lib/run_in_background.js +0 -55
  81. 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,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,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,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,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,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,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,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,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,53 +0,0 @@
1
- import { Base } from 'sdk-base';
2
- import { EggLoadUnitType, LoadUnitFactory, } from '@eggjs/tegg-metadata';
3
- import { LoadUnitInstanceFactory } from '@eggjs/tegg-runtime';
4
- import { EggModuleLoader } from './EggModuleLoader.js';
5
- import { CompatibleUtil } from './CompatibleUtil.js';
6
- import { COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl } from './EggCompatibleProtoImpl.js';
7
- export class ModuleHandler extends Base {
8
- loadUnits = [];
9
- loadUnitInstances = [];
10
- loadUnitLoader;
11
- app;
12
- constructor(app) {
13
- super();
14
- this.app = app;
15
- this.loadUnitLoader = new EggModuleLoader(this.app);
16
- }
17
- async init() {
18
- try {
19
- this.app.eggPrototypeCreatorFactory.registerPrototypeCreator(COMPATIBLE_PROTO_IMPLE_TYPE, EggCompatibleProtoImpl.create);
20
- await this.loadUnitLoader.load();
21
- const instances = [];
22
- // TODO fixtures dts broken the module defintion
23
- this.app.module = {};
24
- for (const loadUnit of this.loadUnits) {
25
- const instance = await LoadUnitInstanceFactory.createLoadUnitInstance(loadUnit);
26
- if (instance.loadUnit.type !== EggLoadUnitType.APP) {
27
- CompatibleUtil.appCompatible(this.app, instance);
28
- }
29
- instances.push(instance);
30
- }
31
- CompatibleUtil.contextModuleCompatible(this.app.context, instances);
32
- this.loadUnitInstances = instances;
33
- this.ready(true);
34
- }
35
- catch (e) {
36
- this.ready(e);
37
- throw e;
38
- }
39
- }
40
- async destroy() {
41
- if (this.loadUnitInstances) {
42
- for (const instance of this.loadUnitInstances) {
43
- await LoadUnitInstanceFactory.destroyLoadUnitInstance(instance);
44
- }
45
- }
46
- if (this.loadUnits) {
47
- for (const loadUnit of this.loadUnits) {
48
- await LoadUnitFactory.destroyLoadUnit(loadUnit);
49
- }
50
- }
51
- }
52
- }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlSGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZHVsZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLEVBQ0wsZUFBZSxFQUVmLGVBQWUsR0FDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQW9CLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVsRyxNQUFNLE9BQU8sYUFBYyxTQUFRLElBQUk7SUFDckMsU0FBUyxHQUFlLEVBQUUsQ0FBQztJQUMzQixpQkFBaUIsR0FBdUIsRUFBRSxDQUFDO0lBRTFCLGNBQWMsQ0FBa0I7SUFDaEMsR0FBRyxDQUFjO0lBRWxDLFlBQVksR0FBZ0I7UUFDMUIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsd0JBQXdCLENBQzFELDJCQUEyQixFQUFFLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRTlELE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFNBQVMsR0FBdUIsRUFBRSxDQUFDO1lBQ3pDLGdEQUFnRDtZQUMvQyxJQUFJLENBQUMsR0FBVyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7WUFFOUIsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU0sUUFBUSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hGLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNuRCxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ25ELENBQUM7Z0JBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzQixDQUFDO1lBQ0QsY0FBYyxDQUFDLHVCQUF1QixDQUFFLElBQUksQ0FBQyxHQUFXLENBQUMsT0FBa0IsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO1lBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQVUsQ0FBQyxDQUFDO1lBQ3ZCLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDM0IsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDOUMsTUFBTSx1QkFBdUIsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRSxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
package/lib/Utils.js DELETED
@@ -1,36 +0,0 @@
1
- function prepareObjectStackTrace(_, stack) {
2
- return stack;
3
- }
4
- export function getCalleeFromStack(withLine, stackIndex) {
5
- stackIndex = stackIndex === undefined ? 2 : stackIndex;
6
- const limit = Error.stackTraceLimit;
7
- const prep = Error.prepareStackTrace;
8
- Error.prepareStackTrace = prepareObjectStackTrace;
9
- Error.stackTraceLimit = 5;
10
- // capture the stack
11
- const obj = {};
12
- Error.captureStackTrace(obj);
13
- let callSite = obj.stack[stackIndex];
14
- let fileName;
15
- /* istanbul ignore else */
16
- if (callSite) {
17
- // egg-mock will create a proxy
18
- // https://github.com/eggjs/egg-mock/blob/master/lib/app.js#L174
19
- fileName = callSite.getFileName();
20
- /* istanbul ignore if */
21
- if (fileName && fileName.endsWith('egg-mock/lib/app.js')) {
22
- // TODO: add test
23
- callSite = obj.stack[stackIndex + 1];
24
- fileName = callSite.getFileName();
25
- }
26
- }
27
- Error.prepareStackTrace = prep;
28
- Error.stackTraceLimit = limit;
29
- /* istanbul ignore if */
30
- if (!callSite || !fileName)
31
- return '<anonymous>';
32
- if (!withLine)
33
- return fileName;
34
- return `${fileName}:${callSite.getLineNumber()}:${callSite.getColumnNumber()}`;
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLHVCQUF1QixDQUFDLENBQVEsRUFBRSxLQUF3QjtJQUNqRSxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBaUIsRUFBRSxVQUFtQjtJQUN2RSxVQUFVLEdBQUcsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDdkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFFckMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0lBQ2xELEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLG9CQUFvQjtJQUNwQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7SUFDcEIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckMsSUFBSSxRQUFRLENBQUM7SUFDYiwwQkFBMEI7SUFDMUIsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLCtCQUErQjtRQUMvQixnRUFBZ0U7UUFDaEUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyx3QkFBd0I7UUFDeEIsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7WUFDekQsaUJBQWlCO1lBQ2pCLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUMvQixLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUU5Qix3QkFBd0I7SUFDeEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVE7UUFBRSxPQUFPLGFBQWEsQ0FBQztJQUNqRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sUUFBUSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO0FBQ2pGLENBQUMifQ==
@@ -1,2 +0,0 @@
1
- import type { Context } from '@eggjs/core';
2
- export declare function ctxLifecycleMiddleware(ctx: Context, next: () => Promise<void>): Promise<void>;