@eggjs/tegg-plugin 4.0.0-beta.4 → 4.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +13 -1
  2. package/dist/app/extend/application.d.ts +57 -0
  3. package/dist/app/extend/application.js +72 -0
  4. package/dist/app/extend/application.unittest.d.ts +26 -0
  5. package/dist/app/extend/application.unittest.js +43 -0
  6. package/dist/app/extend/context.d.ts +24 -0
  7. package/dist/app/extend/context.js +30 -0
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +6 -0
  9. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +9 -0
  10. package/dist/app.d.ts +19 -0
  11. package/dist/app.js +57 -0
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.js +5 -0
  14. package/dist/lib/AppLoadUnit.d.ts +23 -0
  15. package/dist/lib/AppLoadUnit.js +78 -0
  16. package/dist/lib/AppLoadUnitInstance.d.ts +24 -0
  17. package/dist/lib/AppLoadUnitInstance.js +69 -0
  18. package/dist/lib/CompatibleUtil.d.ts +18 -0
  19. package/dist/lib/CompatibleUtil.js +96 -0
  20. package/dist/lib/ConfigSourceLoadUnitHook.d.ts +15 -0
  21. package/dist/lib/ConfigSourceLoadUnitHook.js +22 -0
  22. package/dist/lib/EggAppLoader.d.ts +20 -0
  23. package/dist/lib/EggAppLoader.js +106 -0
  24. package/dist/lib/EggCompatibleObject.d.ts +21 -0
  25. package/dist/lib/EggCompatibleObject.js +37 -0
  26. package/dist/lib/EggCompatibleProtoImpl.d.ts +25 -0
  27. package/dist/lib/EggCompatibleProtoImpl.js +50 -0
  28. package/dist/lib/EggContextCompatibleHook.d.ts +14 -0
  29. package/dist/lib/EggContextCompatibleHook.js +32 -0
  30. package/dist/lib/EggContextHandler.d.ts +13 -0
  31. package/dist/lib/EggContextHandler.js +29 -0
  32. package/dist/lib/EggContextImpl.d.ts +10 -0
  33. package/dist/lib/EggContextImpl.js +18 -0
  34. package/dist/lib/EggModuleLoader.d.ts +15 -0
  35. package/dist/lib/EggModuleLoader.js +50 -0
  36. package/dist/lib/EggQualifierProtoHook.d.ts +14 -0
  37. package/dist/lib/EggQualifierProtoHook.js +48 -0
  38. package/dist/lib/ModuleConfigLoader.d.ts +12 -0
  39. package/dist/lib/ModuleConfigLoader.js +84 -0
  40. package/dist/lib/ModuleHandler.d.ts +17 -0
  41. package/dist/lib/ModuleHandler.js +46 -0
  42. package/dist/lib/Utils.d.ts +4 -0
  43. package/dist/lib/Utils.js +33 -0
  44. package/dist/lib/ctx_lifecycle_middleware.d.ts +6 -0
  45. package/dist/lib/ctx_lifecycle_middleware.js +27 -0
  46. package/dist/lib/run_in_background.d.ts +7 -0
  47. package/dist/lib/run_in_background.js +52 -0
  48. package/dist/types.d.ts +7 -0
  49. package/dist/types.js +6 -0
  50. package/package.json +63 -45
  51. package/app/extend/application.d.ts +0 -24
  52. package/app/extend/application.js +0 -76
  53. package/app/extend/application.unittest.d.ts +0 -8
  54. package/app/extend/application.unittest.js +0 -51
  55. package/app/extend/context.d.ts +0 -15
  56. package/app/extend/context.js +0 -32
  57. package/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +0 -3
  58. package/app/middleware/tegg_ctx_lifecycle_middleware.js +0 -5
  59. package/app.d.ts +0 -17
  60. package/app.js +0 -63
  61. package/index.d.ts +0 -3
  62. package/index.js +0 -4
  63. package/lib/AppLoadUnit.d.ts +0 -19
  64. package/lib/AppLoadUnit.js +0 -85
  65. package/lib/AppLoadUnitInstance.d.ts +0 -20
  66. package/lib/AppLoadUnitInstance.js +0 -82
  67. package/lib/CompatibleUtil.d.ts +0 -14
  68. package/lib/CompatibleUtil.js +0 -94
  69. package/lib/ConfigSourceLoadUnitHook.d.ts +0 -10
  70. package/lib/ConfigSourceLoadUnitHook.js +0 -20
  71. package/lib/EggAppLoader.d.ts +0 -16
  72. package/lib/EggAppLoader.js +0 -127
  73. package/lib/EggCompatibleObject.d.ts +0 -18
  74. package/lib/EggCompatibleObject.js +0 -41
  75. package/lib/EggCompatibleProtoImpl.d.ts +0 -21
  76. package/lib/EggCompatibleProtoImpl.js +0 -51
  77. package/lib/EggContextCompatibleHook.d.ts +0 -10
  78. package/lib/EggContextCompatibleHook.js +0 -42
  79. package/lib/EggContextHandler.d.ts +0 -9
  80. package/lib/EggContextHandler.js +0 -25
  81. package/lib/EggContextImpl.d.ts +0 -6
  82. package/lib/EggContextImpl.js +0 -15
  83. package/lib/EggModuleLoader.d.ts +0 -11
  84. package/lib/EggModuleLoader.js +0 -53
  85. package/lib/EggQualifierProtoHook.d.ts +0 -10
  86. package/lib/EggQualifierProtoHook.js +0 -50
  87. package/lib/ModuleConfigLoader.d.ts +0 -8
  88. package/lib/ModuleConfigLoader.js +0 -80
  89. package/lib/ModuleHandler.d.ts +0 -13
  90. package/lib/ModuleHandler.js +0 -53
  91. package/lib/Utils.d.ts +0 -1
  92. package/lib/Utils.js +0 -36
  93. package/lib/ctx_lifecycle_middleware.d.ts +0 -2
  94. package/lib/ctx_lifecycle_middleware.js +0 -32
  95. package/lib/run_in_background.d.ts +0 -3
  96. package/lib/run_in_background.js +0 -55
  97. package/lib/types.d.ts +0 -43
  98. package/lib/types.js +0 -2
  99. package/typings/index.d.ts +0 -1
@@ -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,2 +0,0 @@
1
- import type { Context } from '@eggjs/core';
2
- export declare function ctxLifecycleMiddleware(ctx: Context, next: () => Promise<void>): Promise<void>;
@@ -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==
@@ -1,3 +0,0 @@
1
- import { Application } from 'egg';
2
- export declare const LONG_STACK_DELIMITER = "\n --------------------\n";
3
- export declare function hijackRunInBackground(app: Application): void;
@@ -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
@@ -1,2 +0,0 @@
1
- import '@eggjs/tegg-config';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLG9CQUFvQixDQUFDIn0=
@@ -1 +0,0 @@
1
- import 'egg';