@eggjs/tegg-plugin 4.0.0-beta.7 → 4.0.0-beta.9

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 (49) hide show
  1. package/dist/app/extend/application.d.ts +47 -54
  2. package/dist/app/extend/application.js +79 -72
  3. package/dist/app/extend/application.unittest.d.ts +19 -23
  4. package/dist/app/extend/application.unittest.js +53 -41
  5. package/dist/app/extend/context.d.ts +17 -21
  6. package/dist/app/extend/context.js +34 -29
  7. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +2 -5
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +3 -7
  9. package/dist/app.d.ts +16 -18
  10. package/dist/app.js +54 -48
  11. package/dist/index.d.ts +3 -1
  12. package/dist/index.js +3 -4
  13. package/dist/lib/AppLoadUnit.d.ts +18 -22
  14. package/dist/lib/AppLoadUnit.js +89 -77
  15. package/dist/lib/AppLoadUnitInstance.d.ts +19 -23
  16. package/dist/lib/AppLoadUnitInstance.js +81 -68
  17. package/dist/lib/CompatibleUtil.d.ts +13 -17
  18. package/dist/lib/CompatibleUtil.js +95 -96
  19. package/dist/lib/ConfigSourceLoadUnitHook.d.ts +4 -9
  20. package/dist/lib/ConfigSourceLoadUnitHook.js +20 -21
  21. package/dist/lib/EggAppLoader.d.ts +15 -19
  22. package/dist/lib/EggAppLoader.js +127 -105
  23. package/dist/lib/EggCompatibleObject.d.ts +16 -19
  24. package/dist/lib/EggCompatibleObject.js +40 -35
  25. package/dist/lib/EggCompatibleProtoImpl.d.ts +20 -24
  26. package/dist/lib/EggCompatibleProtoImpl.js +52 -50
  27. package/dist/lib/EggContextCompatibleHook.d.ts +9 -13
  28. package/dist/lib/EggContextCompatibleHook.js +44 -32
  29. package/dist/lib/EggContextHandler.d.ts +8 -12
  30. package/dist/lib/EggContextHandler.js +26 -29
  31. package/dist/lib/EggContextImpl.d.ts +5 -9
  32. package/dist/lib/EggContextImpl.js +15 -18
  33. package/dist/lib/EggModuleLoader.d.ts +10 -14
  34. package/dist/lib/EggModuleLoader.js +53 -49
  35. package/dist/lib/EggQualifierProtoHook.d.ts +9 -13
  36. package/dist/lib/EggQualifierProtoHook.js +62 -48
  37. package/dist/lib/ModuleConfigLoader.d.ts +7 -11
  38. package/dist/lib/ModuleConfigLoader.js +80 -83
  39. package/dist/lib/ModuleHandler.d.ts +12 -16
  40. package/dist/lib/ModuleHandler.js +51 -44
  41. package/dist/lib/Utils.d.ts +1 -4
  42. package/dist/lib/Utils.js +33 -30
  43. package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -6
  44. package/dist/lib/ctx_lifecycle_middleware.js +31 -25
  45. package/dist/lib/run_in_background.d.ts +3 -7
  46. package/dist/lib/run_in_background.js +54 -48
  47. package/dist/types.d.ts +7 -6
  48. package/dist/types.js +3 -4
  49. package/package.json +12 -12
package/dist/app.js CHANGED
@@ -1,57 +1,63 @@
1
1
  import "./lib/AppLoadUnit.js";
2
2
  import "./lib/AppLoadUnitInstance.js";
3
3
  import "./lib/EggCompatibleObject.js";
4
+ import { LoadUnitMultiInstanceProtoHook } from '@eggjs/tegg-metadata';
5
+ import { EggContextCompatibleHook } from "./lib/EggContextCompatibleHook.js";
4
6
  import { CompatibleUtil } from "./lib/CompatibleUtil.js";
5
7
  import { ModuleHandler } from "./lib/ModuleHandler.js";
6
- import { EggContextCompatibleHook } from "./lib/EggContextCompatibleHook.js";
7
8
  import { EggContextHandler } from "./lib/EggContextHandler.js";
8
9
  import { hijackRunInBackground } from "./lib/run_in_background.js";
9
10
  import { EggQualifierProtoHook } from "./lib/EggQualifierProtoHook.js";
10
11
  import { ConfigSourceLoadUnitHook } from "./lib/ConfigSourceLoadUnitHook.js";
11
- import { LoadUnitMultiInstanceProtoHook } from "@eggjs/tegg-metadata";
12
-
13
- //#region src/app.ts
14
- var App = class {
15
- app;
16
- compatibleHook;
17
- eggContextHandler;
18
- eggQualifierProtoHook;
19
- loadUnitMultiInstanceProtoHook;
20
- configSourceEggPrototypeHook;
21
- constructor(app) {
22
- this.app = app;
23
- }
24
- configWillLoad() {
25
- this.app.config.coreMiddleware.push("teggCtxLifecycleMiddleware");
26
- }
27
- configDidLoad() {
28
- this.eggContextHandler = new EggContextHandler(this.app);
29
- this.app.eggContextHandler = this.eggContextHandler;
30
- this.eggContextHandler.register();
31
- this.app.moduleHandler = new ModuleHandler(this.app);
32
- }
33
- async didLoad() {
34
- hijackRunInBackground(this.app);
35
- this.loadUnitMultiInstanceProtoHook = new LoadUnitMultiInstanceProtoHook();
36
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
37
- this.eggQualifierProtoHook = new EggQualifierProtoHook(this.app);
38
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.eggQualifierProtoHook);
39
- this.configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook();
40
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.configSourceEggPrototypeHook);
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) this.app.eggContextLifecycleUtil.deleteLifecycle(this.compatibleHook);
49
- if (this.eggQualifierProtoHook) this.app.loadUnitLifecycleUtil.deleteLifecycle(this.eggQualifierProtoHook);
50
- if (this.configSourceEggPrototypeHook) this.app.loadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
51
- if (this.loadUnitMultiInstanceProtoHook) this.app.loadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
52
- LoadUnitMultiInstanceProtoHook.clear();
53
- }
54
- };
55
-
56
- //#endregion
57
- export { App as default };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sOEJBQThCLENBQUM7QUFDdEMsT0FBTyw4QkFBOEIsQ0FBQztBQUd0QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTdFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sR0FBRztJQUNMLEdBQUcsQ0FBYztJQUMxQixjQUFjLENBQTRCO0lBQzFDLGlCQUFpQixDQUFvQjtJQUNyQyxxQkFBcUIsQ0FBd0I7SUFDN0MsOEJBQThCLENBQWlDO0lBQy9ELDRCQUE0QixDQUEyQjtJQUUvRCxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pE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
package/dist/index.d.ts CHANGED
@@ -1 +1,3 @@
1
- export { };
1
+ import './types.ts';
2
+ export * from './app/extend/application.ts';
3
+ export * from './app/extend/context.ts';
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
- import "./app/extend/context.js";
2
- import "./app/extend/application.js";
3
1
  import "./types.js";
4
-
5
- export { };
2
+ export * from "./app/extend/application.js";
3
+ export * from "./app/extend/context.js";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUM7QUFFcEIsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDIn0=
@@ -1,23 +1,19 @@
1
- import { EggLoadUnitTypeLike, EggPrototype, LoadUnit, LoadUnitLifecycleContext, Loader } from "@eggjs/tegg-metadata";
2
- import { Id, QualifierInfo } from "@eggjs/tegg";
3
-
4
- //#region src/lib/AppLoadUnit.d.ts
5
- declare class AppLoadUnit implements LoadUnit {
6
- private readonly loader;
7
- id: Id;
8
- readonly name: string;
9
- readonly type: EggLoadUnitTypeLike;
10
- readonly unitPath: string;
11
- private protoMap;
12
- constructor(name: string, unitPath: string, loader: Loader);
13
- init(): Promise<void>;
14
- containPrototype(proto: EggPrototype): boolean;
15
- getEggPrototype(name: string, qualifiers: QualifierInfo[]): EggPrototype[];
16
- registerEggPrototype(proto: EggPrototype): void;
17
- deletePrototype(proto: EggPrototype): void;
18
- destroy(): Promise<void>;
19
- iterateEggPrototype(): IterableIterator<EggPrototype>;
20
- static createModule(ctx: LoadUnitLifecycleContext): AppLoadUnit;
1
+ import { type EggLoadUnitTypeLike, type EggPrototype, type Loader, type LoadUnit, type LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
2
+ import { type Id, type QualifierInfo } from '@eggjs/tegg';
3
+ export declare class AppLoadUnit implements LoadUnit {
4
+ private readonly loader;
5
+ id: Id;
6
+ readonly name: string;
7
+ readonly type: EggLoadUnitTypeLike;
8
+ readonly unitPath: string;
9
+ private protoMap;
10
+ constructor(name: string, unitPath: string, loader: Loader);
11
+ init(): Promise<void>;
12
+ containPrototype(proto: EggPrototype): boolean;
13
+ getEggPrototype(name: string, qualifiers: QualifierInfo[]): EggPrototype[];
14
+ registerEggPrototype(proto: EggPrototype): void;
15
+ deletePrototype(proto: EggPrototype): void;
16
+ destroy(): Promise<void>;
17
+ iterateEggPrototype(): IterableIterator<EggPrototype>;
18
+ static createModule(ctx: LoadUnitLifecycleContext): AppLoadUnit;
21
19
  }
22
- //#endregion
23
- export { AppLoadUnit };
@@ -1,78 +1,90 @@
1
- import { debuglog } from "node:util";
2
- import { EggLoadUnitType, EggPrototypeCreatorFactory, EggPrototypeFactory, LoadUnitFactory } from "@eggjs/tegg-metadata";
3
- import { IdenticalUtil, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, PrototypeUtil, QualifierUtil } from "@eggjs/tegg";
4
- import { MapUtil } from "@eggjs/tegg-common-util";
5
-
6
- //#region src/lib/AppLoadUnit.ts
7
- const debug = debuglog("tegg/plugin/tegg/lib/AppLoadUnit");
8
- var AppLoadUnit = class AppLoadUnit {
9
- loader;
10
- id;
11
- name;
12
- type = EggLoadUnitType.APP;
13
- unitPath;
14
- protoMap = /* @__PURE__ */ new Map();
15
- constructor(name, unitPath, loader) {
16
- this.id = IdenticalUtil.createLoadUnitId(name);
17
- this.name = name;
18
- this.unitPath = unitPath;
19
- this.loader = loader;
20
- }
21
- async init() {
22
- const clazzList = await this.loader.load();
23
- if (debug.enabled) debug("init, get clazzList:%j, from unitPath:%o:%o:%o", clazzList.map((t) => t.name), this.type, this.name, this.unitPath);
24
- for (const clazz of clazzList) {
25
- const initTypeQualifierAttributeValue = await PrototypeUtil.getInitType(clazz, {
26
- unitPath: this.unitPath,
27
- moduleName: this.name
28
- });
29
- [{
30
- attribute: InitTypeQualifierAttribute,
31
- value: initTypeQualifierAttributeValue
32
- }, {
33
- attribute: LoadUnitNameQualifierAttribute,
34
- value: this.name
35
- }].forEach((qualifier) => {
36
- QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
37
- });
38
- const protos = await EggPrototypeCreatorFactory.createProto(clazz, this);
39
- for (const proto of protos) EggPrototypeFactory.instance.registerPrototype(proto, this);
40
- }
41
- }
42
- containPrototype(proto) {
43
- return !!this.protoMap.get(proto.name)?.find((t) => t === proto);
44
- }
45
- getEggPrototype(name, qualifiers) {
46
- return this.protoMap.get(name)?.filter((proto) => proto.verifyQualifiers(qualifiers)) || [];
47
- }
48
- registerEggPrototype(proto) {
49
- MapUtil.getOrStore(this.protoMap, proto.name, []).push(proto);
50
- }
51
- deletePrototype(proto) {
52
- const protos = this.protoMap.get(proto.name);
53
- if (protos) {
54
- const index = protos.indexOf(proto);
55
- if (index !== -1) protos.splice(index, 1);
56
- }
57
- }
58
- async destroy() {
59
- for (const namedProtos of this.protoMap.values()) {
60
- const protos = namedProtos.slice();
61
- for (const proto of protos) EggPrototypeFactory.instance.deletePrototype(proto, this);
62
- }
63
- this.protoMap.clear();
64
- }
65
- iterateEggPrototype() {
66
- return Array.from(this.protoMap.values()).reduce((p, c) => {
67
- p = p.concat(c);
68
- return p;
69
- }, []).values();
70
- }
71
- static createModule(ctx) {
72
- return new AppLoadUnit("tegg-app", ctx.unitPath, ctx.loader);
73
- }
74
- };
1
+ import { debuglog } from 'node:util';
2
+ import { EggLoadUnitType, EggPrototypeFactory, LoadUnitFactory, EggPrototypeCreatorFactory, } from '@eggjs/tegg-metadata';
3
+ import { IdenticalUtil, PrototypeUtil, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, QualifierUtil, } from '@eggjs/tegg';
4
+ import { MapUtil } from '@eggjs/tegg-common-util';
5
+ const debug = debuglog('tegg/plugin/tegg/lib/AppLoadUnit');
6
+ export class AppLoadUnit {
7
+ loader;
8
+ id;
9
+ name;
10
+ type = EggLoadUnitType.APP;
11
+ unitPath;
12
+ protoMap = new Map();
13
+ constructor(name, unitPath, loader) {
14
+ this.id = IdenticalUtil.createLoadUnitId(name);
15
+ this.name = name;
16
+ this.unitPath = unitPath;
17
+ this.loader = loader;
18
+ }
19
+ async init() {
20
+ const clazzList = await this.loader.load();
21
+ if (debug.enabled) {
22
+ debug('init, get clazzList:%j, from unitPath:%o:%o:%o', clazzList.map(t => t.name), this.type, this.name, this.unitPath);
23
+ }
24
+ for (const clazz of clazzList) {
25
+ // TODO duplicate code, same in ModuleLoadUnit
26
+ const initTypeQualifierAttributeValue = await PrototypeUtil.getInitType(clazz, {
27
+ unitPath: this.unitPath,
28
+ moduleName: this.name,
29
+ });
30
+ const defaultQualifier = [{
31
+ attribute: InitTypeQualifierAttribute,
32
+ value: initTypeQualifierAttributeValue,
33
+ }, {
34
+ attribute: LoadUnitNameQualifierAttribute,
35
+ value: this.name,
36
+ }];
37
+ defaultQualifier.forEach(qualifier => {
38
+ QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
39
+ });
40
+ const protos = await EggPrototypeCreatorFactory.createProto(clazz, this);
41
+ for (const proto of protos) {
42
+ EggPrototypeFactory.instance.registerPrototype(proto, this);
43
+ }
44
+ }
45
+ }
46
+ containPrototype(proto) {
47
+ return !!(this.protoMap.get(proto.name)?.find(t => t === proto));
48
+ }
49
+ getEggPrototype(name, qualifiers) {
50
+ const protos = this.protoMap.get(name);
51
+ return protos?.filter(proto => proto.verifyQualifiers(qualifiers)) || [];
52
+ }
53
+ registerEggPrototype(proto) {
54
+ const protoList = MapUtil.getOrStore(this.protoMap, proto.name, []);
55
+ protoList.push(proto);
56
+ }
57
+ deletePrototype(proto) {
58
+ const protos = this.protoMap.get(proto.name);
59
+ if (protos) {
60
+ const index = protos.indexOf(proto);
61
+ if (index !== -1) {
62
+ protos.splice(index, 1);
63
+ }
64
+ }
65
+ }
66
+ async destroy() {
67
+ for (const namedProtos of this.protoMap.values()) {
68
+ // Delete prototype will delete item
69
+ // array iterator is not safe
70
+ const protos = namedProtos.slice();
71
+ for (const proto of protos) {
72
+ EggPrototypeFactory.instance.deletePrototype(proto, this);
73
+ }
74
+ }
75
+ this.protoMap.clear();
76
+ }
77
+ iterateEggPrototype() {
78
+ const protos = Array.from(this.protoMap.values())
79
+ .reduce((p, c) => {
80
+ p = p.concat(c);
81
+ return p;
82
+ }, []);
83
+ return protos.values();
84
+ }
85
+ static createModule(ctx) {
86
+ return new AppLoadUnit('tegg-app', ctx.unitPath, ctx.loader);
87
+ }
88
+ }
75
89
  LoadUnitFactory.registerLoadUnitCreator(EggLoadUnitType.APP, AppLoadUnit.createModule);
76
-
77
- //#endregion
78
- export { AppLoadUnit };
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0FwcExvYWRVbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUNMLGVBQWUsRUFHZixtQkFBbUIsRUFHbkIsZUFBZSxFQUVmLDBCQUEwQixHQUMzQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFFTCxhQUFhLEVBR2IsYUFBYSxFQUNiLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLGFBQWEsR0FDMUUsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRTNELE1BQU0sT0FBTyxXQUFXO0lBQ0wsTUFBTSxDQUFTO0lBQ2hDLEVBQUUsQ0FBSztJQUNFLElBQUksQ0FBUztJQUNiLElBQUksR0FBd0IsZUFBZSxDQUFDLEdBQUcsQ0FBQztJQUNoRCxRQUFRLENBQVM7SUFDbEIsUUFBUSxHQUEwQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXBFLFlBQVksSUFBWSxFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUN4RCxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0MsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFF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
@@ -1,24 +1,20 @@
1
- import { EggPrototype, LoadUnit } from "@eggjs/tegg-metadata";
2
- import { EggObjectName, EggPrototypeName } from "@eggjs/tegg";
3
- import { EggObject, LoadUnitInstance, LoadUnitInstanceLifecycleContext } from "@eggjs/tegg-runtime";
4
-
5
- //#region src/lib/AppLoadUnitInstance.d.ts
6
- declare class AppLoadUnitInstance implements LoadUnitInstance {
7
- readonly loadUnit: LoadUnit;
8
- readonly id: string;
9
- readonly name: string;
10
- private protoToCreateMap;
11
- private eggObjectMap;
12
- private eggObjectPromiseMap;
13
- constructor(loadUnit: LoadUnit);
14
- iterateProtoToCreate(): IterableIterator<[EggObjectName, EggPrototype]>;
15
- addProtoToCreate(name: string, proto: EggPrototype): void;
16
- deleteProtoToCreate(name: string): void;
17
- init(ctx: LoadUnitInstanceLifecycleContext): Promise<void>;
18
- destroy(): Promise<void>;
19
- getOrCreateEggObject(name: EggPrototypeName, proto: EggPrototype): Promise<EggObject>;
20
- getEggObject(name: EggPrototypeName, proto: EggPrototype): EggObject;
21
- static createModuleLoadUnitInstance(ctx: LoadUnitInstanceLifecycleContext): LoadUnitInstance;
1
+ import { type EggPrototype, type LoadUnit } from '@eggjs/tegg-metadata';
2
+ import { type EggObjectName, type EggPrototypeName } from '@eggjs/tegg';
3
+ import { type EggObject, type LoadUnitInstance, type LoadUnitInstanceLifecycleContext } from '@eggjs/tegg-runtime';
4
+ export declare class AppLoadUnitInstance implements LoadUnitInstance {
5
+ readonly loadUnit: LoadUnit;
6
+ readonly id: string;
7
+ readonly name: string;
8
+ private protoToCreateMap;
9
+ private eggObjectMap;
10
+ private eggObjectPromiseMap;
11
+ constructor(loadUnit: LoadUnit);
12
+ iterateProtoToCreate(): IterableIterator<[EggObjectName, EggPrototype]>;
13
+ addProtoToCreate(name: string, proto: EggPrototype): void;
14
+ deleteProtoToCreate(name: string): void;
15
+ init(ctx: LoadUnitInstanceLifecycleContext): Promise<void>;
16
+ destroy(): Promise<void>;
17
+ getOrCreateEggObject(name: EggPrototypeName, proto: EggPrototype): Promise<EggObject>;
18
+ getEggObject(name: EggPrototypeName, proto: EggPrototype): EggObject;
19
+ static createModuleLoadUnitInstance(ctx: LoadUnitInstanceLifecycleContext): LoadUnitInstance;
22
20
  }
23
- //#endregion
24
- export { AppLoadUnitInstance };
@@ -1,69 +1,82 @@
1
- import { EggLoadUnitType } from "@eggjs/tegg-metadata";
2
- import { IdenticalUtil, ObjectInitType } from "@eggjs/tegg";
3
- import { MapUtil } from "@eggjs/tegg-common-util";
4
- import { EggObjectFactory, LoadUnitInstanceFactory, LoadUnitInstanceLifecycleUtil } from "@eggjs/tegg-runtime";
5
-
6
- //#region src/lib/AppLoadUnitInstance.ts
7
- var AppLoadUnitInstance = class AppLoadUnitInstance {
8
- loadUnit;
9
- id;
10
- name;
11
- protoToCreateMap = /* @__PURE__ */ new Map();
12
- eggObjectMap = /* @__PURE__ */ new Map();
13
- eggObjectPromiseMap = /* @__PURE__ */ new Map();
14
- constructor(loadUnit) {
15
- this.loadUnit = loadUnit;
16
- this.name = loadUnit.name;
17
- const iterator = this.loadUnit.iterateEggPrototype();
18
- for (const proto of iterator) if (proto.initType === ObjectInitType.SINGLETON) this.protoToCreateMap.set(proto.name, proto);
19
- this.id = IdenticalUtil.createLoadUnitInstanceId(loadUnit.id);
20
- }
21
- iterateProtoToCreate() {
22
- return this.protoToCreateMap.entries();
23
- }
24
- addProtoToCreate(name, proto) {
25
- this.protoToCreateMap.set(name, proto);
26
- }
27
- deleteProtoToCreate(name) {
28
- this.protoToCreateMap.delete(name);
29
- }
30
- async init(ctx) {
31
- await LoadUnitInstanceLifecycleUtil.objectPreCreate(ctx, this);
32
- for (const [name, proto] of this.protoToCreateMap) await this.getOrCreateEggObject(name, proto);
33
- }
34
- async destroy() {
35
- const objs = [];
36
- for (const protoObjMap of this.eggObjectMap.values()) for (const protoObj of protoObjMap.values()) objs.push(protoObj);
37
- this.eggObjectMap.clear();
38
- await Promise.all(objs.map(async (obj) => {
39
- await EggObjectFactory.destroyObject(obj);
40
- }));
41
- }
42
- async getOrCreateEggObject(name, proto) {
43
- if (!this.loadUnit.containPrototype(proto)) throw new Error("load unit not contain proto");
44
- const protoObjMap = MapUtil.getOrStore(this.eggObjectMap, proto.id, /* @__PURE__ */ new Map());
45
- if (!protoObjMap.has(name)) {
46
- const protoObjPromiseMap = MapUtil.getOrStore(this.eggObjectPromiseMap, proto.id, /* @__PURE__ */ new Map());
47
- if (!protoObjPromiseMap.has(name)) {
48
- const objPromise = EggObjectFactory.createObject(name, proto);
49
- protoObjPromiseMap.set(name, objPromise);
50
- const obj = await objPromise;
51
- protoObjPromiseMap.delete(name);
52
- protoObjMap.set(name, obj);
53
- } else await protoObjPromiseMap.get(name);
54
- }
55
- return protoObjMap.get(name);
56
- }
57
- getEggObject(name, proto) {
58
- const protoObjMap = this.eggObjectMap.get(proto.id);
59
- if (!protoObjMap || !protoObjMap.has(name)) throw new Error(`EggObject ${String(proto.name)} not found`);
60
- return protoObjMap.get(name);
61
- }
62
- static createModuleLoadUnitInstance(ctx) {
63
- return new AppLoadUnitInstance(ctx.loadUnit);
64
- }
65
- };
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
+ }
66
81
  LoadUnitInstanceFactory.registerLoadUnitInstanceClass(EggLoadUnitType.APP, AppLoadUnitInstance.createModuleLoadUnitInstance);
67
-
68
- //#endregion
69
- export { AppLoadUnitInstance };
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvQXBwTG9hZFVuaXRJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFvQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBNkMsY0FBYyxFQUFXLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoSCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUNXLGdCQUFnQixFQUVoQyx1QkFBdUIsRUFDZ0IsNkJBQTZCLEdBQ3JFLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixRQUFRLENBQVc7SUFDbkIsRUFBRSxDQUFTO0lBQ1gsSUFBSSxDQUFTO0lBQ2QsZ0JBQWdCLEdBQXdDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbEUsWUFBWSxHQUE4QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BFLG1CQUFtQixHQUF1RCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTVGLFlBQVksUUFBa0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNyRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxFQUFFLEdB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
@@ -1,18 +1,14 @@
1
- import { EggPrototype } from "@eggjs/tegg-metadata";
2
- import { LoadUnitInstance } from "@eggjs/tegg-runtime";
3
- import { Application, Context } from "egg";
4
-
5
- //#region src/lib/CompatibleUtil.d.ts
6
- declare class CompatibleUtil {
7
- static singletonProtoCache: Map<PropertyKey, EggPrototype>;
8
- static requestProtoCache: Map<PropertyKey, EggPrototype>;
9
- static getSingletonProto(name: PropertyKey): EggPrototype;
10
- static getRequestProto(name: PropertyKey): EggPrototype;
11
- private static singletonModuleProxyFactory;
12
- static appCompatible(app: Application, loadUnitInstance: LoadUnitInstance): void;
13
- static contextModuleProxyFactory(holder: Record<string, any>, ctx: Context, loadUnitInstance: LoadUnitInstance): any;
14
- static contextModuleCompatible(ctx: Context, loadUnitInstances: LoadUnitInstance[]): void;
15
- static clean(): void;
1
+ import { Application, Context } from 'egg';
2
+ import { type EggPrototype } from '@eggjs/tegg-metadata';
3
+ import { type LoadUnitInstance } from '@eggjs/tegg-runtime';
4
+ export declare class CompatibleUtil {
5
+ static singletonProtoCache: Map<PropertyKey, EggPrototype>;
6
+ static requestProtoCache: Map<PropertyKey, EggPrototype>;
7
+ static getSingletonProto(name: PropertyKey): EggPrototype;
8
+ static getRequestProto(name: PropertyKey): EggPrototype;
9
+ private static singletonModuleProxyFactory;
10
+ static appCompatible(app: Application, loadUnitInstance: LoadUnitInstance): void;
11
+ static contextModuleProxyFactory(holder: Record<string, any>, ctx: Context, loadUnitInstance: LoadUnitInstance): any;
12
+ static contextModuleCompatible(ctx: Context, loadUnitInstances: LoadUnitInstance[]): void;
13
+ static clean(): void;
16
14
  }
17
- //#endregion
18
- export { CompatibleUtil };