@eggjs/tegg-plugin 4.0.0-beta.1 → 4.0.0-beta.11
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/{app → dist/app}/extend/application.unittest.js +13 -9
- package/dist/app/extend/context.d.ts +20 -0
- package/dist/app/extend/context.js +35 -0
- package/{app → dist/app}/middleware/tegg_ctx_lifecycle_middleware.d.ts +1 -1
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +5 -0
- package/{app.d.ts → dist/app.d.ts} +4 -4
- 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 +2 -2
- package/dist/lib/CompatibleUtil.js +95 -0
- package/{lib → dist/lib}/ConfigSourceLoadUnitHook.d.ts +2 -2
- package/{lib → dist/lib}/ConfigSourceLoadUnitHook.js +2 -1
- package/{lib → dist/lib}/EggAppLoader.d.ts +2 -2
- package/dist/lib/EggAppLoader.js +128 -0
- package/{lib → dist/lib}/EggCompatibleObject.d.ts +4 -4
- package/{lib → dist/lib}/EggCompatibleObject.js +3 -2
- package/{lib → dist/lib}/EggCompatibleProtoImpl.d.ts +2 -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 +26 -0
- package/{lib → dist/lib}/EggContextImpl.d.ts +1 -1
- package/dist/lib/EggContextImpl.js +15 -0
- 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 +2 -2
- 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/{lib → dist/lib}/ctx_lifecycle_middleware.js +7 -6
- 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 +63 -45
- 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/context.d.ts +0 -15
- package/app/extend/context.js +0 -32
- 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/EggAppLoader.js +0 -127
- 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/run_in_background.js +0 -55
- package/lib/types.d.ts +0 -43
- package/lib/types.js +0 -2
- package/typings/index.d.ts +0 -1
- /package/{lib → dist/lib}/EggModuleLoader.d.ts +0 -0
- /package/{lib → dist/lib}/Utils.d.ts +0 -0
- /package/{lib → dist/lib}/run_in_background.d.ts +0 -0
|
@@ -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==
|
package/lib/run_in_background.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { BackgroundTaskHelper, PrototypeUtil } from '@eggjs/tegg';
|
|
2
|
-
import { TEGG_CONTEXT } from '@eggjs/egg-module-common';
|
|
3
|
-
import { getCalleeFromStack } from './Utils.js';
|
|
4
|
-
export const LONG_STACK_DELIMITER = '\n --------------------\n';
|
|
5
|
-
function addLongStackTrace(err, causeError) {
|
|
6
|
-
const callSiteStack = causeError.stack;
|
|
7
|
-
if (!callSiteStack || typeof callSiteStack !== 'string') {
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
const index = callSiteStack.indexOf('\n');
|
|
11
|
-
if (index !== -1) {
|
|
12
|
-
err.stack += LONG_STACK_DELIMITER + callSiteStack.substring(index + 1);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export function hijackRunInBackground(app) {
|
|
16
|
-
const eggRunInBackground = app.context.runInBackground;
|
|
17
|
-
app.context.runInBackground = function runInBackground(scope) {
|
|
18
|
-
if (!this[TEGG_CONTEXT]) {
|
|
19
|
-
return Reflect.apply(eggRunInBackground, this, [scope]);
|
|
20
|
-
}
|
|
21
|
-
const caseError = new Error('cause');
|
|
22
|
-
let resolveBackgroundTask;
|
|
23
|
-
const backgroundTaskPromise = new Promise(resolve => {
|
|
24
|
-
resolveBackgroundTask = resolve;
|
|
25
|
-
});
|
|
26
|
-
const newScope = async () => {
|
|
27
|
-
try {
|
|
28
|
-
await scope(this);
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
addLongStackTrace(e, caseError);
|
|
32
|
-
throw e;
|
|
33
|
-
}
|
|
34
|
-
finally {
|
|
35
|
-
resolveBackgroundTask();
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
const taskName = scope._name || scope.name || getCalleeFromStack(true, 2);
|
|
39
|
-
scope._name = taskName;
|
|
40
|
-
Object.defineProperty(newScope, 'name', {
|
|
41
|
-
value: taskName,
|
|
42
|
-
enumerable: false,
|
|
43
|
-
configurable: true,
|
|
44
|
-
writable: false,
|
|
45
|
-
});
|
|
46
|
-
Reflect.apply(eggRunInBackground, this, [newScope]);
|
|
47
|
-
const proto = PrototypeUtil.getClazzProto(BackgroundTaskHelper);
|
|
48
|
-
const eggObject = app.eggContainerFactory.getEggObject(proto);
|
|
49
|
-
const backgroundTaskHelper = eggObject.obj;
|
|
50
|
-
backgroundTaskHelper.run(async () => {
|
|
51
|
-
await backgroundTaskPromise;
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuX2luX2JhY2tncm91bmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJydW5faW5fYmFja2dyb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUM7QUFFaEUsU0FBUyxpQkFBaUIsQ0FBQyxHQUFVLEVBQUUsVUFBaUI7SUFDdEQsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUN2QyxJQUFJLENBQUMsYUFBYSxJQUFJLE9BQU8sYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3hELE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2pCLEdBQUcsQ0FBQyxLQUFLLElBQUksb0JBQW9CLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsR0FBZ0I7SUFDcEQsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztJQUN2RCxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxTQUFTLGVBQWUsQ0FBMEIsS0FBcUM7UUFDbkgsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsQ0FBRSxLQUFLLENBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxJQUFJLHFCQUFpQyxDQUFDO1FBQ3RDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxPQUFPLENBQU8sT0FBTyxDQUFDLEVBQUU7WUFDeEQscUJBQXFCLEdBQUcsT0FBTyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDO2dCQUNILE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLGlCQUFpQixDQUFDLENBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDekMsTUFBTSxDQUFDLENBQUM7WUFDVixDQUFDO29CQUFTLENBQUM7Z0JBQ1QscUJBQXFCLEVBQUUsQ0FBQztZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUksS0FBYSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRixLQUFhLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQztRQUNoQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUU7WUFDdEMsS0FBSyxFQUFFLFFBQVE7WUFDZixVQUFVLEVBQUUsS0FBSztZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFFLFFBQVEsQ0FBRSxDQUFDLENBQUM7UUFFdEQsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsS0FBcUIsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDLEdBQTJCLENBQUM7UUFDbkUsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2xDLE1BQU0scUJBQXFCLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
package/lib/types.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import '@eggjs/tegg-config';
|
|
2
|
-
import { EggPrototypeCreatorFactory, EggPrototypeFactory, LoadUnitLifecycleUtil, LoadUnitFactory, EggPrototypeLifecycleUtil } from '@eggjs/tegg-metadata';
|
|
3
|
-
import { EggContainerFactory, LoadUnitInstanceFactory, LoadUnitInstanceLifecycleUtil, EggContextLifecycleUtil, EggObjectLifecycleUtil, AbstractEggContext, EggObjectFactory, EggContext as TEggContext } from '@eggjs/tegg-runtime';
|
|
4
|
-
import { LoaderFactory } from '@eggjs/tegg-loader';
|
|
5
|
-
import { IdenticalUtil, QualifierInfo } from '@eggjs/tegg';
|
|
6
|
-
import { ModuleHandler } from '../lib/ModuleHandler.js';
|
|
7
|
-
import { EggContextHandler } from '../lib/EggContextHandler.js';
|
|
8
|
-
declare module '@eggjs/core' {
|
|
9
|
-
interface EggModule {
|
|
10
|
-
}
|
|
11
|
-
interface EggCore {
|
|
12
|
-
eggPrototypeCreatorFactory: typeof EggPrototypeCreatorFactory;
|
|
13
|
-
eggPrototypeFactory: EggPrototypeFactory;
|
|
14
|
-
eggContainerFactory: typeof EggContainerFactory;
|
|
15
|
-
loadUnitFactory: typeof LoadUnitFactory;
|
|
16
|
-
eggObjectFactory: typeof EggObjectFactory;
|
|
17
|
-
loadUnitInstanceFactory: typeof LoadUnitInstanceFactory;
|
|
18
|
-
abstractEggContext: typeof AbstractEggContext;
|
|
19
|
-
identicalUtil: typeof IdenticalUtil;
|
|
20
|
-
loaderFactory: typeof LoaderFactory;
|
|
21
|
-
loadUnitLifecycleUtil: typeof LoadUnitLifecycleUtil;
|
|
22
|
-
loadUnitInstanceLifecycleUtil: typeof LoadUnitInstanceLifecycleUtil;
|
|
23
|
-
eggPrototypeLifecycleUtil: typeof EggPrototypeLifecycleUtil;
|
|
24
|
-
eggContextLifecycleUtil: typeof EggContextLifecycleUtil;
|
|
25
|
-
eggObjectLifecycleUtil: typeof EggObjectLifecycleUtil;
|
|
26
|
-
teggContext: TEggContext;
|
|
27
|
-
moduleHandler: ModuleHandler;
|
|
28
|
-
eggContextHandler: EggContextHandler;
|
|
29
|
-
mockModuleContext(data?: any): Promise<Context>;
|
|
30
|
-
mockModuleContextScope<R = any>(fn: (ctx: Context) => Promise<R>, data?: any): Promise<R>;
|
|
31
|
-
destroyModuleContext(context: Context): Promise<void>;
|
|
32
|
-
getEggObject<T>(clazz: new (...args: any[]) => T, name?: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<T>;
|
|
33
|
-
getEggObjectFromName<T extends object>(name: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<T>;
|
|
34
|
-
module: EggModule;
|
|
35
|
-
}
|
|
36
|
-
interface Context {
|
|
37
|
-
beginModuleScope(func: () => Promise<void>): Promise<void>;
|
|
38
|
-
getEggObject<T>(clazz: new (...args: any[]) => T, name?: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<T>;
|
|
39
|
-
getEggObjectFromName<T>(name: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<T>;
|
|
40
|
-
teggContext: TEggContext;
|
|
41
|
-
module: EggModule;
|
|
42
|
-
}
|
|
43
|
-
}
|
package/lib/types.js
DELETED
package/typings/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import 'egg';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|