@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.
- package/README.md +13 -1
- package/dist/app/extend/application.d.ts +25 -0
- package/dist/app/extend/application.js +75 -0
- package/dist/app/extend/application.unittest.d.ts +6 -0
- package/dist/app/extend/application.unittest.js +52 -0
- package/dist/app/extend/context.d.ts +9 -0
- package/dist/app/extend/context.js +33 -0
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +3 -0
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +5 -0
- package/{app.d.ts → dist/app.d.ts} +5 -5
- package/dist/app.js +64 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4 -0
- package/{lib → dist/lib}/AppLoadUnit.d.ts +3 -2
- package/dist/lib/AppLoadUnit.js +93 -0
- package/{lib → dist/lib}/AppLoadUnitInstance.d.ts +3 -3
- package/dist/lib/AppLoadUnitInstance.js +83 -0
- package/{lib → dist/lib}/CompatibleUtil.d.ts +9 -4
- package/dist/lib/CompatibleUtil.js +104 -0
- package/{lib → dist/lib}/ConfigSourceLoadUnitHook.d.ts +2 -2
- package/dist/lib/ConfigSourceLoadUnitHook.js +20 -0
- package/dist/lib/EggAppLoader.d.ts +16 -0
- package/dist/lib/EggAppLoader.js +116 -0
- package/{lib → dist/lib}/EggCompatibleObject.d.ts +5 -7
- package/dist/lib/EggCompatibleObject.js +43 -0
- package/{lib → dist/lib}/EggCompatibleProtoImpl.d.ts +3 -2
- package/dist/lib/EggCompatibleProtoImpl.js +52 -0
- package/{lib → dist/lib}/EggContextCompatibleHook.d.ts +3 -3
- package/dist/lib/EggContextCompatibleHook.js +44 -0
- package/{lib → dist/lib}/EggContextHandler.d.ts +3 -3
- package/dist/lib/EggContextHandler.js +25 -0
- package/{lib → dist/lib}/EggContextImpl.d.ts +1 -1
- package/dist/lib/EggContextImpl.js +15 -0
- package/{lib → dist/lib}/EggModuleLoader.d.ts +2 -2
- package/dist/lib/EggModuleLoader.js +53 -0
- package/{lib → dist/lib}/EggQualifierProtoHook.d.ts +3 -3
- package/dist/lib/EggQualifierProtoHook.js +60 -0
- package/{lib → dist/lib}/ModuleConfigLoader.d.ts +2 -2
- package/dist/lib/ModuleConfigLoader.js +80 -0
- package/{lib → dist/lib}/ModuleHandler.d.ts +3 -3
- package/dist/lib/ModuleHandler.js +52 -0
- package/{lib → dist/lib}/Utils.d.ts +1 -1
- package/dist/lib/Utils.js +36 -0
- package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -0
- package/dist/lib/ctx_lifecycle_middleware.js +32 -0
- package/{lib → dist/lib}/run_in_background.d.ts +1 -1
- package/dist/lib/run_in_background.js +58 -0
- package/{lib → dist}/types.d.ts +22 -12
- package/{lib → dist}/types.js +2 -2
- package/package.json +65 -49
- package/app/extend/application.d.ts +0 -24
- package/app/extend/application.js +0 -76
- package/app/extend/application.unittest.d.ts +0 -8
- package/app/extend/application.unittest.js +0 -51
- package/app/extend/context.d.ts +0 -15
- package/app/extend/context.js +0 -32
- package/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +0 -3
- package/app/middleware/tegg_ctx_lifecycle_middleware.js +0 -5
- package/app.js +0 -63
- package/index.d.ts +0 -3
- package/index.js +0 -4
- package/lib/AppLoadUnit.js +0 -85
- package/lib/AppLoadUnitInstance.js +0 -82
- package/lib/CompatibleUtil.js +0 -94
- package/lib/ConfigSourceLoadUnitHook.js +0 -20
- package/lib/EggAppLoader.d.ts +0 -16
- package/lib/EggAppLoader.js +0 -127
- package/lib/EggCompatibleObject.js +0 -41
- package/lib/EggCompatibleProtoImpl.js +0 -51
- package/lib/EggContextCompatibleHook.js +0 -42
- package/lib/EggContextHandler.js +0 -25
- package/lib/EggContextImpl.js +0 -15
- package/lib/EggModuleLoader.js +0 -53
- package/lib/EggQualifierProtoHook.js +0 -50
- package/lib/ModuleConfigLoader.js +0 -80
- package/lib/ModuleHandler.js +0 -53
- package/lib/Utils.js +0 -36
- package/lib/ctx_lifecycle_middleware.d.ts +0 -2
- package/lib/ctx_lifecycle_middleware.js +0 -32
- package/lib/run_in_background.js +0 -55
- package/typings/index.d.ts +0 -1
package/lib/EggAppLoader.js
DELETED
|
@@ -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
|
package/lib/EggContextHandler.js
DELETED
|
@@ -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
|
package/lib/EggContextImpl.js
DELETED
|
@@ -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=
|
package/lib/EggModuleLoader.js
DELETED
|
@@ -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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
|
package/lib/ModuleHandler.js
DELETED
|
@@ -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==
|