@eggjs/tegg-plugin 4.0.0-beta.2 → 4.0.0-beta.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +13 -1
  2. package/dist/app/extend/application.d.ts +25 -0
  3. package/dist/app/extend/application.js +75 -0
  4. package/dist/app/extend/application.unittest.d.ts +6 -0
  5. package/dist/app/extend/application.unittest.js +52 -0
  6. package/dist/app/extend/context.d.ts +9 -0
  7. package/dist/app/extend/context.js +33 -0
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +3 -0
  9. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +5 -0
  10. package/{app.d.ts → dist/app.d.ts} +5 -5
  11. package/dist/app.js +64 -0
  12. package/dist/index.d.ts +3 -0
  13. package/dist/index.js +4 -0
  14. package/{lib → dist/lib}/AppLoadUnit.d.ts +3 -2
  15. package/dist/lib/AppLoadUnit.js +93 -0
  16. package/{lib → dist/lib}/AppLoadUnitInstance.d.ts +3 -3
  17. package/dist/lib/AppLoadUnitInstance.js +83 -0
  18. package/{lib → dist/lib}/CompatibleUtil.d.ts +9 -4
  19. package/dist/lib/CompatibleUtil.js +104 -0
  20. package/{lib → dist/lib}/ConfigSourceLoadUnitHook.d.ts +2 -2
  21. package/dist/lib/ConfigSourceLoadUnitHook.js +20 -0
  22. package/dist/lib/EggAppLoader.d.ts +16 -0
  23. package/dist/lib/EggAppLoader.js +116 -0
  24. package/{lib → dist/lib}/EggCompatibleObject.d.ts +5 -7
  25. package/dist/lib/EggCompatibleObject.js +43 -0
  26. package/{lib → dist/lib}/EggCompatibleProtoImpl.d.ts +3 -2
  27. package/dist/lib/EggCompatibleProtoImpl.js +52 -0
  28. package/{lib → dist/lib}/EggContextCompatibleHook.d.ts +3 -3
  29. package/dist/lib/EggContextCompatibleHook.js +44 -0
  30. package/{lib → dist/lib}/EggContextHandler.d.ts +3 -3
  31. package/dist/lib/EggContextHandler.js +25 -0
  32. package/{lib → dist/lib}/EggContextImpl.d.ts +1 -1
  33. package/dist/lib/EggContextImpl.js +15 -0
  34. package/{lib → dist/lib}/EggModuleLoader.d.ts +2 -2
  35. package/dist/lib/EggModuleLoader.js +53 -0
  36. package/{lib → dist/lib}/EggQualifierProtoHook.d.ts +3 -3
  37. package/dist/lib/EggQualifierProtoHook.js +60 -0
  38. package/{lib → dist/lib}/ModuleConfigLoader.d.ts +2 -2
  39. package/dist/lib/ModuleConfigLoader.js +80 -0
  40. package/{lib → dist/lib}/ModuleHandler.d.ts +3 -3
  41. package/dist/lib/ModuleHandler.js +52 -0
  42. package/{lib → dist/lib}/Utils.d.ts +1 -1
  43. package/dist/lib/Utils.js +36 -0
  44. package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -0
  45. package/dist/lib/ctx_lifecycle_middleware.js +32 -0
  46. package/{lib → dist/lib}/run_in_background.d.ts +1 -1
  47. package/dist/lib/run_in_background.js +58 -0
  48. package/{lib → dist}/types.d.ts +22 -12
  49. package/{lib → dist}/types.js +2 -2
  50. package/package.json +65 -49
  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.js +0 -63
  60. package/index.d.ts +0 -3
  61. package/index.js +0 -4
  62. package/lib/AppLoadUnit.js +0 -85
  63. package/lib/AppLoadUnitInstance.js +0 -82
  64. package/lib/CompatibleUtil.js +0 -94
  65. package/lib/ConfigSourceLoadUnitHook.js +0 -20
  66. package/lib/EggAppLoader.d.ts +0 -16
  67. package/lib/EggAppLoader.js +0 -127
  68. package/lib/EggCompatibleObject.js +0 -41
  69. package/lib/EggCompatibleProtoImpl.js +0 -51
  70. package/lib/EggContextCompatibleHook.js +0 -42
  71. package/lib/EggContextHandler.js +0 -25
  72. package/lib/EggContextImpl.js +0 -15
  73. package/lib/EggModuleLoader.js +0 -53
  74. package/lib/EggQualifierProtoHook.js +0 -50
  75. package/lib/ModuleConfigLoader.js +0 -80
  76. package/lib/ModuleHandler.js +0 -53
  77. package/lib/Utils.js +0 -36
  78. package/lib/ctx_lifecycle_middleware.d.ts +0 -2
  79. package/lib/ctx_lifecycle_middleware.js +0 -32
  80. package/lib/run_in_background.js +0 -55
  81. package/typings/index.d.ts +0 -1
@@ -1,76 +0,0 @@
1
- import { EggPrototypeCreatorFactory, EggPrototypeFactory, EggPrototypeLifecycleUtil, LoadUnitFactory, LoadUnitLifecycleUtil, } from '@eggjs/tegg-metadata';
2
- import { AbstractEggContext, EggContainerFactory, EggObjectFactory, LoadUnitInstanceFactory, EggContextLifecycleUtil, EggObjectLifecycleUtil, LoadUnitInstanceLifecycleUtil, } from '@eggjs/tegg-runtime';
3
- import { LoaderFactory } from '@eggjs/tegg-loader';
4
- import { IdenticalUtil } from '@eggjs/tegg';
5
- export default {
6
- // @eggjs/tegg-metadata should not depend by other egg plugins.
7
- // May make multi singleton instances.
8
- // So tegg-compatible should delegate the metadata factories
9
- // TODO delegate all the singleton
10
- get eggPrototypeCreatorFactory() {
11
- return EggPrototypeCreatorFactory;
12
- },
13
- get eggPrototypeFactory() {
14
- return EggPrototypeFactory.instance;
15
- },
16
- get loadUnitLifecycleUtil() {
17
- return LoadUnitLifecycleUtil;
18
- },
19
- get loadUnitFactory() {
20
- return LoadUnitFactory;
21
- },
22
- get eggObjectFactory() {
23
- return EggObjectFactory;
24
- },
25
- get loadUnitInstanceFactory() {
26
- return LoadUnitInstanceFactory;
27
- },
28
- get loadUnitInstanceLifecycleUtil() {
29
- return LoadUnitInstanceLifecycleUtil;
30
- },
31
- get eggContainerFactory() {
32
- return EggContainerFactory;
33
- },
34
- get loaderFactory() {
35
- return LoaderFactory;
36
- },
37
- get eggPrototypeLifecycleUtil() {
38
- return EggPrototypeLifecycleUtil;
39
- },
40
- get eggContextLifecycleUtil() {
41
- return EggContextLifecycleUtil;
42
- },
43
- get eggObjectLifecycleUtil() {
44
- return EggObjectLifecycleUtil;
45
- },
46
- get abstractEggContext() {
47
- return AbstractEggContext;
48
- },
49
- get identicalUtil() {
50
- return IdenticalUtil;
51
- },
52
- get runtimeConfig() {
53
- const app = this;
54
- const config = app.config;
55
- return {
56
- baseDir: config.baseDir,
57
- env: config.env,
58
- name: config.name,
59
- };
60
- },
61
- async getEggObject(clazz, name, qualifiers) {
62
- if (qualifiers) {
63
- qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
64
- }
65
- const eggObject = await EggContainerFactory.getOrCreateEggObjectFromClazz(clazz, name, qualifiers);
66
- return eggObject.obj;
67
- },
68
- async getEggObjectFromName(name, qualifiers) {
69
- if (qualifiers) {
70
- qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
71
- }
72
- const eggObject = await EggContainerFactory.getOrCreateEggObjectFromName(name, qualifiers);
73
- return eggObject.obj;
74
- },
75
- };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLHFCQUFxQixHQUN0QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0Qiw2QkFBNkIsR0FDOUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFxQixhQUFhLEVBQWdDLE1BQU0sYUFBYSxDQUFDO0FBRzdGLGVBQWU7SUFDYiwrREFBK0Q7SUFDL0Qsc0NBQXNDO0lBQ3RDLDREQUE0RDtJQUM1RCxrQ0FBa0M7SUFDbEMsSUFBSSwwQkFBMEI7UUFDNUIsT0FBTywwQkFBMEIsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyx1QkFBdUIsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSw2QkFBNkI7UUFDL0IsT0FBTyw2QkFBNkIsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUkseUJBQXlCO1FBQzNCLE9BQU8seUJBQXlCLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sdUJBQXVCLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUE4QixDQUFDO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDMUIsT0FBTztZQUNMLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUc7WUFDZixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7U0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQXdCLEVBQUUsSUFBYSxFQUFFLFVBQTRDO1FBQ3RHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFFLFVBQVUsQ0FBRSxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLG1CQUFtQixDQUFDLDZCQUE2QixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDbkcsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBWSxFQUFFLFVBQTRDO1FBQ25GLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFFLFVBQVUsQ0FBRSxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLG1CQUFtQixDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMzRixPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDdkIsQ0FBQztDQUNGLENBQUMifQ==
@@ -1,8 +0,0 @@
1
- import type { MockApplication } from '@eggjs/mock';
2
- import type { Context } from '@eggjs/core';
3
- declare const _default: {
4
- mockModuleContext(this: MockApplication, data?: any): Promise<Context>;
5
- destroyModuleContext(ctx: Context): Promise<void>;
6
- mockModuleContextScope<R = any>(this: MockApplication, fn: (ctx: Context) => Promise<R>, data?: any): Promise<R>;
7
- };
8
- export default _default;
@@ -1,51 +0,0 @@
1
- import { EggContextImpl } from '../../lib/EggContextImpl.js';
2
- const TEGG_LIFECYCLE_CACHE = new Map();
3
- let hasMockModuleContext = false;
4
- export default {
5
- async mockModuleContext(data) {
6
- this.deprecate('app.mockModuleContext is deprecated, use mockModuleContextScope.');
7
- if (hasMockModuleContext) {
8
- throw new Error('should not call mockModuleContext twice.');
9
- }
10
- const ctx = this.mockContext(data);
11
- const teggCtx = new EggContextImpl(ctx);
12
- const lifecycle = {};
13
- TEGG_LIFECYCLE_CACHE.set(teggCtx, lifecycle);
14
- if (teggCtx.init) {
15
- await teggCtx.init(lifecycle);
16
- }
17
- hasMockModuleContext = true;
18
- return ctx;
19
- },
20
- async destroyModuleContext(ctx) {
21
- hasMockModuleContext = false;
22
- const teggCtx = ctx.teggContext;
23
- if (!teggCtx) {
24
- return;
25
- }
26
- const lifecycle = TEGG_LIFECYCLE_CACHE.get(teggCtx);
27
- if (teggCtx.destroy && lifecycle) {
28
- await teggCtx.destroy(lifecycle);
29
- }
30
- },
31
- async mockModuleContextScope(fn, data) {
32
- if (hasMockModuleContext) {
33
- throw new Error('mockModuleContextScope can not use with mockModuleContext, should use mockModuleContextScope only.');
34
- }
35
- return this.mockContextScope(async (_ctx) => {
36
- const ctx = _ctx;
37
- const teggCtx = new EggContextImpl(ctx);
38
- const lifecycle = {};
39
- if (teggCtx.init) {
40
- await teggCtx.init(lifecycle);
41
- }
42
- try {
43
- return await fn(ctx);
44
- }
45
- finally {
46
- await teggCtx.destroy(lifecycle);
47
- }
48
- }, data);
49
- },
50
- };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24udW5pdHRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi51bml0dGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHN0QsTUFBTSxvQkFBb0IsR0FBZ0QsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUVwRixJQUFJLG9CQUFvQixHQUFHLEtBQUssQ0FBQztBQUVqQyxlQUFlO0lBQ2IsS0FBSyxDQUFDLGlCQUFpQixDQUF3QixJQUFVO1FBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsa0VBQWtFLENBQUMsQ0FBQztRQUNuRixJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBdUIsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELG9CQUFvQixHQUFHLElBQUksQ0FBQztRQUM1QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxLQUFLLENBQUMsb0JBQW9CLENBQUMsR0FBWTtRQUNyQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFFN0IsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFLENBQUM7WUFDakMsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUErQixFQUFnQyxFQUFFLElBQVU7UUFDckcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0dBQW9HLENBQUMsQ0FBQztRQUN4SCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFO1lBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQTBCLENBQUM7WUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNqQixNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUNELElBQUksQ0FBQztnQkFDSCxPQUFPLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7b0JBQVMsQ0FBQztnQkFDVCxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkMsQ0FBQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDRixDQUFDIn0=
@@ -1,15 +0,0 @@
1
- import type { Context } from '@eggjs/core';
2
- import type { EggContext as TEggContext } from '@eggjs/tegg-runtime';
3
- import { TEGG_CONTEXT } from '@eggjs/egg-module-common';
4
- import { type EggProtoImplClass, type QualifierInfo } from '@eggjs/tegg';
5
- export interface TEggPluginContext extends Context {
6
- [TEGG_CONTEXT]: TEggContext;
7
- }
8
- declare const _default: {
9
- [TEGG_CONTEXT]: TEggContext | undefined;
10
- beginModuleScope(this: TEggPluginContext, func: () => Promise<void>): Promise<void>;
11
- readonly teggContext: TEggContext;
12
- getEggObject(this: Context, clazz: EggProtoImplClass, name?: string): Promise<Record<string | symbol, any>>;
13
- getEggObjectFromName(this: Context, name: string, qualifiers?: QualifierInfo | QualifierInfo[]): Promise<Record<string | symbol, any>>;
14
- };
15
- export default _default;
@@ -1,32 +0,0 @@
1
- import { TEGG_CONTEXT } from '@eggjs/egg-module-common';
2
- import { PrototypeUtil } from '@eggjs/tegg';
3
- import { ctxLifecycleMiddleware } from '../../lib/ctx_lifecycle_middleware.js';
4
- export default {
5
- [TEGG_CONTEXT]: undefined,
6
- async beginModuleScope(func) {
7
- await ctxLifecycleMiddleware(this, func);
8
- },
9
- get teggContext() {
10
- if (!this[TEGG_CONTEXT]) {
11
- throw new Error('tegg context have not ready, should call after teggCtxLifecycleMiddleware');
12
- }
13
- return this[TEGG_CONTEXT];
14
- },
15
- async getEggObject(clazz, name) {
16
- const protoObj = PrototypeUtil.getClazzProto(clazz);
17
- if (!protoObj) {
18
- throw new Error(`can not get proto for clazz ${clazz.name}`);
19
- }
20
- const proto = protoObj;
21
- const eggObject = await this.app.eggContainerFactory.getOrCreateEggObject(proto, name ?? proto.name);
22
- return eggObject.obj;
23
- },
24
- async getEggObjectFromName(name, qualifiers) {
25
- if (qualifiers) {
26
- qualifiers = Array.isArray(qualifiers) ? qualifiers : [qualifiers];
27
- }
28
- const eggObject = await this.app.eggContainerFactory.getOrCreateEggObjectFromName(name, qualifiers);
29
- return eggObject.obj;
30
- },
31
- };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBMEIsYUFBYSxFQUFzQixNQUFNLGFBQWEsQ0FBQztBQUV4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQU0vRSxlQUFlO0lBQ2IsQ0FBQyxZQUFZLENBQUMsRUFBRSxTQUFvQztJQUVwRCxLQUFLLENBQUMsZ0JBQWdCLENBQTBCLElBQXlCO1FBQ3ZFLE1BQU0sc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyRUFBMkUsQ0FBQyxDQUFDO1FBQy9GLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBZ0IsS0FBd0IsRUFBRSxJQUFhO1FBQ3ZFLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLFFBQXdCLENBQUM7UUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JHLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFnQixJQUFZLEVBQUUsVUFBNEM7UUFDbEcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUUsVUFBVSxDQUFFLENBQUM7UUFDdkUsQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEcsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRixDQUFDIn0=
@@ -1,3 +0,0 @@
1
- import { ctxLifecycleMiddleware } from '../../lib/ctx_lifecycle_middleware.js';
2
- declare const _default: () => typeof ctxLifecycleMiddleware;
3
- export default _default;
@@ -1,5 +0,0 @@
1
- import { ctxLifecycleMiddleware } from '../../lib/ctx_lifecycle_middleware.js';
2
- export default () => {
3
- return ctxLifecycleMiddleware;
4
- };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVnZ19jdHhfbGlmZWN5Y2xlX21pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZWdnX2N0eF9saWZlY3ljbGVfbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUUvRSxlQUFlLEdBQUcsRUFBRTtJQUNsQixPQUFPLHNCQUFzQixDQUFDO0FBQ2hDLENBQUMsQ0FBQyJ9
package/app.js DELETED
@@ -1,63 +0,0 @@
1
- import './lib/AppLoadUnit.js';
2
- import './lib/AppLoadUnitInstance.js';
3
- import './lib/EggCompatibleObject.js';
4
- import { LoadUnitMultiInstanceProtoHook } from '@eggjs/tegg-metadata';
5
- import { EggContextCompatibleHook } from './lib/EggContextCompatibleHook.js';
6
- import { CompatibleUtil } from './lib/CompatibleUtil.js';
7
- import { ModuleHandler } from './lib/ModuleHandler.js';
8
- import { EggContextHandler } from './lib/EggContextHandler.js';
9
- import { hijackRunInBackground } from './lib/run_in_background.js';
10
- import { EggQualifierProtoHook } from './lib/EggQualifierProtoHook.js';
11
- import { ConfigSourceLoadUnitHook } from './lib/ConfigSourceLoadUnitHook.js';
12
- export default class App {
13
- app;
14
- compatibleHook;
15
- eggContextHandler;
16
- eggQualifierProtoHook;
17
- loadUnitMultiInstanceProtoHook;
18
- configSourceEggPrototypeHook;
19
- constructor(app) {
20
- this.app = app;
21
- }
22
- configWillLoad() {
23
- this.app.config.coreMiddleware.push('teggCtxLifecycleMiddleware');
24
- }
25
- configDidLoad() {
26
- this.eggContextHandler = new EggContextHandler(this.app);
27
- this.app.eggContextHandler = this.eggContextHandler;
28
- this.eggContextHandler.register();
29
- this.app.moduleHandler = new ModuleHandler(this.app);
30
- }
31
- async didLoad() {
32
- hijackRunInBackground(this.app);
33
- this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
34
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
35
- // wait all file loaded, so app/ctx has all properties
36
- this.eggQualifierProtoHook = new EggQualifierProtoHook(this.app);
37
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.eggQualifierProtoHook);
38
- this.configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
39
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.configSourceEggPrototypeHook);
40
- // start load tegg objects
41
- await this.app.moduleHandler.init();
42
- this.compatibleHook = new EggContextCompatibleHook(this.app.moduleHandler);
43
- this.app.eggContextLifecycleUtil.registerLifecycle(this.compatibleHook);
44
- }
45
- async beforeClose() {
46
- CompatibleUtil.clean();
47
- await this.app.moduleHandler.destroy();
48
- if (this.compatibleHook) {
49
- this.app.eggContextLifecycleUtil.deleteLifecycle(this.compatibleHook);
50
- }
51
- if (this.eggQualifierProtoHook) {
52
- this.app.loadUnitLifecycleUtil.deleteLifecycle(this.eggQualifierProtoHook);
53
- }
54
- if (this.configSourceEggPrototypeHook) {
55
- this.app.loadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
56
- }
57
- if (this.loadUnitMultiInstanceProtoHook) {
58
- this.app.loadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
59
- }
60
- LoadUnitMultiInstanceProtoHook.clear();
61
- }
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFN0UsTUFBTSxDQUFDLE9BQU8sT0FBTyxHQUFHO0lBQ0wsR0FBRyxDQUFjO0lBQzFCLGNBQWMsQ0FBNEI7SUFDMUMsaUJBQWlCLENBQW9CO0lBQ3JDLHFCQUFxQixDQUF3QjtJQUM3Qyw4QkFBOEIsQ0FBaUM7SUFDL0QsNEJBQTRCLENBQTJCO0lBRS9ELFlBQVksR0FBZ0I7UUFDMUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsSUFBSSxD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
package/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import './lib/types.js';
2
- export * from './app/extend/application.js';
3
- export * from './app/extend/context.js';
package/index.js DELETED
@@ -1,4 +0,0 @@
1
- import './lib/types.js';
2
- export * from './app/extend/application.js';
3
- export * from './app/extend/context.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLGdCQUFnQixDQUFDO0FBRXhCLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQyJ9
@@ -1,85 +0,0 @@
1
- import { EggLoadUnitType, EggPrototypeFactory, LoadUnitFactory, EggPrototypeCreatorFactory, } from '@eggjs/tegg-metadata';
2
- import { IdenticalUtil, PrototypeUtil, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, QualifierUtil, } from '@eggjs/tegg';
3
- import { MapUtil } from '@eggjs/tegg-common-util';
4
- export class AppLoadUnit {
5
- loader;
6
- id;
7
- name;
8
- type = EggLoadUnitType.APP;
9
- unitPath;
10
- protoMap = new Map();
11
- constructor(name, unitPath, loader) {
12
- this.id = IdenticalUtil.createLoadUnitId(name);
13
- this.name = name;
14
- this.unitPath = unitPath;
15
- this.loader = loader;
16
- }
17
- async init() {
18
- const clazzList = await this.loader.load();
19
- for (const clazz of clazzList) {
20
- // TODO duplicate code, same in ModuleLoadUnit
21
- const initTypeQualifierAttributeValue = await PrototypeUtil.getInitType(clazz, {
22
- unitPath: this.unitPath,
23
- moduleName: this.name,
24
- });
25
- const defaultQualifier = [{
26
- attribute: InitTypeQualifierAttribute,
27
- value: initTypeQualifierAttributeValue,
28
- }, {
29
- attribute: LoadUnitNameQualifierAttribute,
30
- value: this.name,
31
- }];
32
- defaultQualifier.forEach(qualifier => {
33
- QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
34
- });
35
- const protos = await EggPrototypeCreatorFactory.createProto(clazz, this);
36
- for (const proto of protos) {
37
- EggPrototypeFactory.instance.registerPrototype(proto, this);
38
- }
39
- }
40
- }
41
- containPrototype(proto) {
42
- return !!(this.protoMap.get(proto.name)?.find(t => t === proto));
43
- }
44
- getEggPrototype(name, qualifiers) {
45
- const protos = this.protoMap.get(name);
46
- return protos?.filter(proto => proto.verifyQualifiers(qualifiers)) || [];
47
- }
48
- registerEggPrototype(proto) {
49
- const protoList = MapUtil.getOrStore(this.protoMap, proto.name, []);
50
- protoList.push(proto);
51
- }
52
- deletePrototype(proto) {
53
- const protos = this.protoMap.get(proto.name);
54
- if (protos) {
55
- const index = protos.indexOf(proto);
56
- if (index !== -1) {
57
- protos.splice(index, 1);
58
- }
59
- }
60
- }
61
- async destroy() {
62
- for (const namedProtos of this.protoMap.values()) {
63
- // Delete prototype will delete item
64
- // array iterator is not safe
65
- const protos = namedProtos.slice();
66
- for (const proto of protos) {
67
- EggPrototypeFactory.instance.deletePrototype(proto, this);
68
- }
69
- }
70
- this.protoMap.clear();
71
- }
72
- iterateEggPrototype() {
73
- const protos = Array.from(this.protoMap.values())
74
- .reduce((p, c) => {
75
- p = p.concat(c);
76
- return p;
77
- }, []);
78
- return protos.values();
79
- }
80
- static createModule(ctx) {
81
- return new AppLoadUnit('tegg-app', ctx.unitPath, ctx.loader);
82
- }
83
- }
84
- LoadUnitFactory.registerLoadUnitCreator(EggLoadUnitType.APP, AppLoadUnit.createModule);
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJBcHBMb2FkVW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUdmLG1CQUFtQixFQUduQixlQUFlLEVBRWYsMEJBQTBCLEdBQzNCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUVMLGFBQWEsRUFHYixhQUFhLEVBQ2IsMEJBQTBCLEVBQUUsOEJBQThCLEVBQUUsYUFBYSxHQUMxRSxNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEQsTUFBTSxPQUFPLFdBQVc7SUFDTCxNQUFNLENBQVM7SUFDaEMsRUFBRSxDQUFLO0lBQ0UsSUFBSSxDQUFTO0lBQ2IsSUFBSSxHQUF3QixlQUFlLENBQUMsR0FBRyxDQUFDO0lBQ2hELFFBQVEsQ0FBUztJQUNsQixRQUFRLEdBQTBDLElBQUksR0FBRyxFQUFFLENBQUM7SUFFcEUsWUFBWSxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxNQUFjO1FBQ3hELElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzlCLDhDQUE4QztZQUM5QyxNQUFNLCtCQUErQixHQUFHLE1BQU0sYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUU7Z0JBQzdFLFFBQVEsRUFBRSxJQUFJ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
@@ -1,82 +0,0 @@
1
- import { EggLoadUnitType } from '@eggjs/tegg-metadata';
2
- import { ObjectInitType, IdenticalUtil } from '@eggjs/tegg';
3
- import { MapUtil } from '@eggjs/tegg-common-util';
4
- import { EggObjectFactory, LoadUnitInstanceFactory, LoadUnitInstanceLifecycleUtil, } from '@eggjs/tegg-runtime';
5
- export class AppLoadUnitInstance {
6
- loadUnit;
7
- id;
8
- name;
9
- protoToCreateMap = new Map();
10
- eggObjectMap = new Map();
11
- eggObjectPromiseMap = new Map();
12
- constructor(loadUnit) {
13
- this.loadUnit = loadUnit;
14
- this.name = loadUnit.name;
15
- const iterator = this.loadUnit.iterateEggPrototype();
16
- for (const proto of iterator) {
17
- if (proto.initType === ObjectInitType.SINGLETON) {
18
- this.protoToCreateMap.set(proto.name, proto);
19
- }
20
- }
21
- this.id = IdenticalUtil.createLoadUnitInstanceId(loadUnit.id);
22
- }
23
- iterateProtoToCreate() {
24
- return this.protoToCreateMap.entries();
25
- }
26
- addProtoToCreate(name, proto) {
27
- this.protoToCreateMap.set(name, proto);
28
- }
29
- deleteProtoToCreate(name) {
30
- this.protoToCreateMap.delete(name);
31
- }
32
- async init(ctx) {
33
- await LoadUnitInstanceLifecycleUtil.objectPreCreate(ctx, this);
34
- for (const [name, proto] of this.protoToCreateMap) {
35
- await this.getOrCreateEggObject(name, proto);
36
- }
37
- }
38
- async destroy() {
39
- const objs = [];
40
- for (const protoObjMap of this.eggObjectMap.values()) {
41
- for (const protoObj of protoObjMap.values()) {
42
- objs.push(protoObj);
43
- }
44
- }
45
- this.eggObjectMap.clear();
46
- await Promise.all(objs.map(async (obj) => {
47
- await EggObjectFactory.destroyObject(obj);
48
- }));
49
- }
50
- async getOrCreateEggObject(name, proto) {
51
- if (!this.loadUnit.containPrototype(proto)) {
52
- throw new Error('load unit not contain proto');
53
- }
54
- const protoObjMap = MapUtil.getOrStore(this.eggObjectMap, proto.id, new Map());
55
- if (!protoObjMap.has(name)) {
56
- const protoObjPromiseMap = MapUtil.getOrStore(this.eggObjectPromiseMap, proto.id, new Map());
57
- if (!protoObjPromiseMap.has(name)) {
58
- const objPromise = EggObjectFactory.createObject(name, proto);
59
- protoObjPromiseMap.set(name, objPromise);
60
- const obj = await objPromise;
61
- protoObjPromiseMap.delete(name);
62
- protoObjMap.set(name, obj);
63
- }
64
- else {
65
- await protoObjPromiseMap.get(name);
66
- }
67
- }
68
- return protoObjMap.get(name);
69
- }
70
- getEggObject(name, proto) {
71
- const protoObjMap = this.eggObjectMap.get(proto.id);
72
- if (!protoObjMap || !protoObjMap.has(name)) {
73
- throw new Error(`EggObject ${String(proto.name)} not found`);
74
- }
75
- return protoObjMap.get(name);
76
- }
77
- static createModuleLoadUnitInstance(ctx) {
78
- return new AppLoadUnitInstance(ctx.loadUnit);
79
- }
80
- }
81
- LoadUnitInstanceFactory.registerLoadUnitInstanceClass(EggLoadUnitType.APP, AppLoadUnitInstance.createModuleLoadUnitInstance);
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkFwcExvYWRVbml0SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBMEIsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQW1DLGNBQWMsRUFBTSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFDTSxnQkFBZ0IsRUFFM0IsdUJBQXVCLEVBQ1csNkJBQTZCLEdBQ2hFLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixRQUFRLENBQVc7SUFDbkIsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFTO0lBQ2QsZ0JBQWdCLEdBQXdDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbEUsWUFBWSxHQUE4QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BFLG1CQUFtQixHQUF1RCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTVGLFlBQVksUUFBa0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNyRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLHdC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
@@ -1,94 +0,0 @@
1
- import { EggPrototypeFactory } from '@eggjs/tegg-metadata';
2
- import { InitTypeQualifierAttribute, ObjectInitType } from '@eggjs/tegg';
3
- import { EggContainerFactory } from '@eggjs/tegg-runtime';
4
- import { ProxyUtil } from '@eggjs/tegg-common-util';
5
- export class CompatibleUtil {
6
- static singletonProtoCache = new Map();
7
- static requestProtoCache = new Map();
8
- static getSingletonProto(name) {
9
- if (!this.singletonProtoCache.has(name)) {
10
- const proto = EggPrototypeFactory.instance.getPrototype(name, undefined, [{
11
- attribute: InitTypeQualifierAttribute,
12
- value: ObjectInitType.SINGLETON,
13
- }]);
14
- this.singletonProtoCache.set(name, proto);
15
- }
16
- return this.singletonProtoCache.get(name);
17
- }
18
- static getRequestProto(name) {
19
- if (!this.requestProtoCache.has(name)) {
20
- const proto = EggPrototypeFactory.instance.getPrototype(name, undefined, [{
21
- attribute: InitTypeQualifierAttribute,
22
- value: ObjectInitType.CONTEXT,
23
- }]);
24
- this.requestProtoCache.set(name, proto);
25
- }
26
- return this.requestProtoCache.get(name);
27
- }
28
- static singletonModuleProxyFactory(app, loadUnitInstance) {
29
- let deprecated = false;
30
- return function (_, p) {
31
- const proto = CompatibleUtil.getSingletonProto(p);
32
- const eggObj = EggContainerFactory.getEggObject(proto);
33
- if (!deprecated) {
34
- deprecated = true;
35
- app.deprecate(`[egg/module] Please use await app.getEggObject(clazzName) instead of app.${loadUnitInstance.name}.${String(p)}`);
36
- }
37
- return eggObj.obj;
38
- };
39
- }
40
- static appCompatible(app, loadUnitInstance) {
41
- const moduleLoadUnitProxy = ProxyUtil.safeProxy(loadUnitInstance, CompatibleUtil.singletonModuleProxyFactory(app, loadUnitInstance));
42
- Reflect.defineProperty(app.module, loadUnitInstance.name, {
43
- configurable: true,
44
- value: moduleLoadUnitProxy,
45
- });
46
- }
47
- static contextModuleProxyFactory(holder, ctx, loadUnitInstance) {
48
- const cacheKey = `_${loadUnitInstance.name}Proxy`;
49
- if (!holder[cacheKey]) {
50
- let deprecated = false;
51
- const getter = function (_, p) {
52
- const proto = CompatibleUtil.getRequestProto(p);
53
- const eggObj = EggContainerFactory.getEggObject(proto, p);
54
- if (!deprecated) {
55
- deprecated = true;
56
- ctx.app.deprecate(`[egg/module] Please use await ctx.getEggObject(clazzName) instead of ctx.${loadUnitInstance.name}.${String(p)}`);
57
- }
58
- return eggObj.obj;
59
- };
60
- holder[cacheKey] = ProxyUtil.safeProxy(loadUnitInstance, getter);
61
- }
62
- return holder[cacheKey];
63
- }
64
- static contextModuleCompatible(ctx, loadUnitInstances) {
65
- const loadUnitInstanceMap = loadUnitInstances.reduce((p, c) => {
66
- p[c.name] = c;
67
- return p;
68
- }, {});
69
- Reflect.defineProperty(ctx, 'module', {
70
- configurable: true,
71
- enumerable: true,
72
- get() {
73
- // eslint-disable-next-line @typescript-eslint/no-this-alias
74
- const ctx = this;
75
- if (!this._moduleProxy) {
76
- const ctxModule = Object.create(loadUnitInstanceMap);
77
- this._moduleProxy = ProxyUtil.safeProxy(ctxModule, (_, p) => {
78
- const loadUnitInstance = Reflect.get(ctxModule, p);
79
- if (!loadUnitInstance) {
80
- return;
81
- }
82
- return CompatibleUtil.contextModuleProxyFactory(ctxModule, ctx, loadUnitInstance);
83
- });
84
- }
85
- return this._moduleProxy;
86
- },
87
- });
88
- }
89
- static clean() {
90
- this.singletonProtoCache.clear();
91
- this.requestProtoCache.clear();
92
- }
93
- }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGF0aWJsZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDb21wYXRpYmxlVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQW9CLE1BQU0scUJBQXFCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXBELE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxtQkFBbUIsR0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN2RSxNQUFNLENBQUMsaUJBQWlCLEdBQW1DLElBQUksR0FBRyxFQUFFLENBQUM7SUFFckUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQWlCO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7b0JBQ3hFLFNBQVMsRUFBRSwwQkFBMEI7b0JBQ3JDLEtBQUssRUFBRSxjQUFjLENBQUMsU0FBUztpQkFDaEMsQ0FBQyxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQWlCO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUks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
@@ -1,20 +0,0 @@
1
- import { PrototypeUtil, QualifierUtil, ConfigSourceQualifier, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
2
- /**
3
- * Copy from standalone/src/ConfigSourceLoadUnitHook
4
- * Hook for inject moduleConfig.
5
- * Add default qualifier value is current module name.
6
- */
7
- export class ConfigSourceLoadUnitHook {
8
- async preCreate(ctx, loadUnit) {
9
- const classList = await ctx.loader.load();
10
- for (const clazz of classList) {
11
- const injectObjects = PrototypeUtil.getInjectObjects(clazz);
12
- const moduleConfigObject = injectObjects.find(t => t.objName === 'moduleConfig');
13
- const configSourceQualifier = QualifierUtil.getProperQualifier(clazz, 'moduleConfig', ConfigSourceQualifierAttribute);
14
- if (moduleConfigObject && !configSourceQualifier) {
15
- ConfigSourceQualifier(loadUnit.name)(clazz.prototype, moduleConfigObject.refName);
16
- }
17
- }
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSxhQUFhLENBQUM7QUFFckI7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUE2QixFQUFFLFFBQWtCO1FBQy9ELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLGNBQWMsQ0FBQyxDQUFDO1lBQ2pGLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsOEJBQThCLENBQUMsQ0FBQztZQUN0SCxJQUFJLGtCQUFrQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDakQscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -1,16 +0,0 @@
1
- import { Application } from 'egg';
2
- import { Loader } from '@eggjs/tegg-metadata';
3
- import { EggProtoImplClass } from '@eggjs/tegg';
4
- export declare const APP_CLAZZ_BLACK_LIST: string[];
5
- export declare const CONTEXT_CLAZZ_BLACK_LIST: string[];
6
- export declare const DEFAULT_APP_CLAZZ: string[];
7
- export declare const DEFAULT_CONTEXT_CLAZZ: string[];
8
- export declare class EggAppLoader implements Loader {
9
- private readonly app;
10
- private readonly moduleConfigLoader;
11
- constructor(app: Application);
12
- private buildClazz;
13
- private buildAppLoggerClazz;
14
- private getLoggerNames;
15
- load(): Promise<EggProtoImplClass[]>;
16
- }