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