@eggjs/tegg-plugin 4.0.0-beta.4 → 4.0.0-beta.6
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 +57 -0
- package/dist/app/extend/application.js +72 -0
- package/dist/app/extend/application.unittest.d.ts +26 -0
- package/dist/app/extend/application.unittest.js +43 -0
- package/dist/app/extend/context.d.ts +24 -0
- package/dist/app/extend/context.js +30 -0
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +6 -0
- package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +9 -0
- package/dist/app.d.ts +19 -0
- package/dist/app.js +57 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5 -0
- package/dist/lib/AppLoadUnit.d.ts +23 -0
- package/dist/lib/AppLoadUnit.js +78 -0
- package/dist/lib/AppLoadUnitInstance.d.ts +24 -0
- package/dist/lib/AppLoadUnitInstance.js +69 -0
- package/dist/lib/CompatibleUtil.d.ts +18 -0
- package/dist/lib/CompatibleUtil.js +96 -0
- package/dist/lib/ConfigSourceLoadUnitHook.d.ts +15 -0
- package/dist/lib/ConfigSourceLoadUnitHook.js +22 -0
- package/dist/lib/EggAppLoader.d.ts +20 -0
- package/dist/lib/EggAppLoader.js +106 -0
- package/dist/lib/EggCompatibleObject.d.ts +21 -0
- package/dist/lib/EggCompatibleObject.js +37 -0
- package/dist/lib/EggCompatibleProtoImpl.d.ts +25 -0
- package/dist/lib/EggCompatibleProtoImpl.js +50 -0
- package/dist/lib/EggContextCompatibleHook.d.ts +14 -0
- package/dist/lib/EggContextCompatibleHook.js +32 -0
- package/dist/lib/EggContextHandler.d.ts +13 -0
- package/dist/lib/EggContextHandler.js +29 -0
- package/dist/lib/EggContextImpl.d.ts +10 -0
- package/dist/lib/EggContextImpl.js +18 -0
- package/dist/lib/EggModuleLoader.d.ts +15 -0
- package/dist/lib/EggModuleLoader.js +50 -0
- package/dist/lib/EggQualifierProtoHook.d.ts +14 -0
- package/dist/lib/EggQualifierProtoHook.js +48 -0
- package/dist/lib/ModuleConfigLoader.d.ts +12 -0
- package/dist/lib/ModuleConfigLoader.js +84 -0
- package/dist/lib/ModuleHandler.d.ts +17 -0
- package/dist/lib/ModuleHandler.js +46 -0
- package/dist/lib/Utils.d.ts +4 -0
- package/dist/lib/Utils.js +33 -0
- package/dist/lib/ctx_lifecycle_middleware.d.ts +6 -0
- package/dist/lib/ctx_lifecycle_middleware.js +27 -0
- package/dist/lib/run_in_background.d.ts +7 -0
- package/dist/lib/run_in_background.js +52 -0
- package/dist/types.d.ts +7 -0
- package/dist/types.js +6 -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/application.unittest.js +0 -51
- package/app/extend/context.d.ts +0 -15
- package/app/extend/context.js +0 -32
- package/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +0 -3
- package/app/middleware/tegg_ctx_lifecycle_middleware.js +0 -5
- package/app.d.ts +0 -17
- package/app.js +0 -63
- package/index.d.ts +0 -3
- package/index.js +0 -4
- package/lib/AppLoadUnit.d.ts +0 -19
- package/lib/AppLoadUnit.js +0 -85
- package/lib/AppLoadUnitInstance.d.ts +0 -20
- package/lib/AppLoadUnitInstance.js +0 -82
- package/lib/CompatibleUtil.d.ts +0 -14
- package/lib/CompatibleUtil.js +0 -94
- package/lib/ConfigSourceLoadUnitHook.d.ts +0 -10
- package/lib/ConfigSourceLoadUnitHook.js +0 -20
- package/lib/EggAppLoader.d.ts +0 -16
- package/lib/EggAppLoader.js +0 -127
- package/lib/EggCompatibleObject.d.ts +0 -18
- package/lib/EggCompatibleObject.js +0 -41
- package/lib/EggCompatibleProtoImpl.d.ts +0 -21
- package/lib/EggCompatibleProtoImpl.js +0 -51
- package/lib/EggContextCompatibleHook.d.ts +0 -10
- package/lib/EggContextCompatibleHook.js +0 -42
- package/lib/EggContextHandler.d.ts +0 -9
- package/lib/EggContextHandler.js +0 -25
- package/lib/EggContextImpl.d.ts +0 -6
- package/lib/EggContextImpl.js +0 -15
- package/lib/EggModuleLoader.d.ts +0 -11
- package/lib/EggModuleLoader.js +0 -53
- package/lib/EggQualifierProtoHook.d.ts +0 -10
- package/lib/EggQualifierProtoHook.js +0 -50
- package/lib/ModuleConfigLoader.d.ts +0 -8
- package/lib/ModuleConfigLoader.js +0 -80
- package/lib/ModuleHandler.d.ts +0 -13
- package/lib/ModuleHandler.js +0 -53
- package/lib/Utils.d.ts +0 -1
- package/lib/Utils.js +0 -36
- package/lib/ctx_lifecycle_middleware.d.ts +0 -2
- package/lib/ctx_lifecycle_middleware.js +0 -32
- package/lib/run_in_background.d.ts +0 -3
- 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/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.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getCalleeFromStack(withLine: boolean, stackIndex?: number): any;
|
package/lib/Utils.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
function prepareObjectStackTrace(_, stack) {
|
|
2
|
-
return stack;
|
|
3
|
-
}
|
|
4
|
-
export function getCalleeFromStack(withLine, stackIndex) {
|
|
5
|
-
stackIndex = stackIndex === undefined ? 2 : stackIndex;
|
|
6
|
-
const limit = Error.stackTraceLimit;
|
|
7
|
-
const prep = Error.prepareStackTrace;
|
|
8
|
-
Error.prepareStackTrace = prepareObjectStackTrace;
|
|
9
|
-
Error.stackTraceLimit = 5;
|
|
10
|
-
// capture the stack
|
|
11
|
-
const obj = {};
|
|
12
|
-
Error.captureStackTrace(obj);
|
|
13
|
-
let callSite = obj.stack[stackIndex];
|
|
14
|
-
let fileName;
|
|
15
|
-
/* istanbul ignore else */
|
|
16
|
-
if (callSite) {
|
|
17
|
-
// egg-mock will create a proxy
|
|
18
|
-
// https://github.com/eggjs/egg-mock/blob/master/lib/app.js#L174
|
|
19
|
-
fileName = callSite.getFileName();
|
|
20
|
-
/* istanbul ignore if */
|
|
21
|
-
if (fileName && fileName.endsWith('egg-mock/lib/app.js')) {
|
|
22
|
-
// TODO: add test
|
|
23
|
-
callSite = obj.stack[stackIndex + 1];
|
|
24
|
-
fileName = callSite.getFileName();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
Error.prepareStackTrace = prep;
|
|
28
|
-
Error.stackTraceLimit = limit;
|
|
29
|
-
/* istanbul ignore if */
|
|
30
|
-
if (!callSite || !fileName)
|
|
31
|
-
return '<anonymous>';
|
|
32
|
-
if (!withLine)
|
|
33
|
-
return fileName;
|
|
34
|
-
return `${fileName}:${callSite.getLineNumber()}:${callSite.getColumnNumber()}`;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxTQUFTLHVCQUF1QixDQUFDLENBQVEsRUFBRSxLQUF3QjtJQUNqRSxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBaUIsRUFBRSxVQUFtQjtJQUN2RSxVQUFVLEdBQUcsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDdkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQztJQUNwQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7SUFFckMsS0FBSyxDQUFDLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0lBQ2xELEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO0lBRTFCLG9CQUFvQjtJQUNwQixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7SUFDcEIsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckMsSUFBSSxRQUFRLENBQUM7SUFDYiwwQkFBMEI7SUFDMUIsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLCtCQUErQjtRQUMvQixnRUFBZ0U7UUFDaEUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyx3QkFBd0I7UUFDeEIsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7WUFDekQsaUJBQWlCO1lBQ2pCLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUMvQixLQUFLLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUU5Qix3QkFBd0I7SUFDeEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFFBQVE7UUFBRSxPQUFPLGFBQWEsQ0FBQztJQUNqRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sUUFBUSxDQUFDO0lBQy9CLE9BQU8sR0FBRyxRQUFRLElBQUksUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO0FBQ2pGLENBQUMifQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ROOT_PROTO, TEGG_CONTEXT } from '@eggjs/egg-module-common';
|
|
2
|
-
import { EggContextImpl } from './EggContextImpl.js';
|
|
3
|
-
export async function ctxLifecycleMiddleware(ctx, next) {
|
|
4
|
-
// should not recreate teggContext
|
|
5
|
-
if (ctx[TEGG_CONTEXT]) {
|
|
6
|
-
await next();
|
|
7
|
-
return;
|
|
8
|
-
}
|
|
9
|
-
const lifecycle = {};
|
|
10
|
-
const teggCtx = new EggContextImpl(ctx);
|
|
11
|
-
// rootProto is set by tegg-controller-plugin global middleware(teggRootProto)
|
|
12
|
-
// is used in EggControllerHook
|
|
13
|
-
const rootProto = ctx[ROOT_PROTO];
|
|
14
|
-
if (rootProto) {
|
|
15
|
-
teggCtx.set(ROOT_PROTO, rootProto);
|
|
16
|
-
}
|
|
17
|
-
if (teggCtx.init) {
|
|
18
|
-
await teggCtx.init(lifecycle);
|
|
19
|
-
}
|
|
20
|
-
try {
|
|
21
|
-
await next();
|
|
22
|
-
}
|
|
23
|
-
finally {
|
|
24
|
-
if (teggCtx.destroy) {
|
|
25
|
-
teggCtx.destroy(lifecycle).catch(e => {
|
|
26
|
-
e.message = '[tegg/ctxLifecycleMiddleware] destroy tegg ctx failed:' + e.message;
|
|
27
|
-
ctx.logger.error(e);
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3R4X2xpZmVjeWNsZV9taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3R4X2xpZmVjeWNsZV9taWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3JELE1BQU0sQ0FBQyxLQUFLLFVBQVUsc0JBQXNCLENBQUMsR0FBWSxFQUFFLElBQXlCO0lBQ2xGLGtDQUFrQztJQUNsQyxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ3RCLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDYixPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUVyQixNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4Qyw4RUFBOEU7SUFDOUUsK0JBQStCO0lBQy9CLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUNmLENBQUM7WUFBUyxDQUFDO1FBQ1QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25DLENBQUMsQ0FBQyxPQUFPLEdBQUcsd0RBQXdELEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDakYsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMifQ==
|
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';
|