@eggjs/tegg-plugin 4.0.0-beta.8 → 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 (81) hide show
  1. package/dist/app/extend/application.d.ts +50 -4
  2. package/dist/app/extend/application.js +79 -10
  3. package/dist/app/extend/application.unittest.d.ts +22 -2
  4. package/dist/app/extend/application.unittest.js +55 -4
  5. package/dist/app/extend/context.d.ts +20 -2
  6. package/dist/app/extend/context.js +35 -5
  7. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.d.ts +2 -5
  8. package/dist/app/middleware/tegg_ctx_lifecycle_middleware.js +4 -9
  9. package/dist/app.d.ts +16 -21
  10. package/dist/app.js +63 -65
  11. package/dist/index.d.ts +3 -6
  12. package/dist/index.js +4 -15
  13. package/dist/lib/AppLoadUnit.d.ts +19 -2
  14. package/dist/lib/AppLoadUnit.js +90 -3
  15. package/dist/lib/AppLoadUnitInstance.d.ts +20 -2
  16. package/dist/lib/AppLoadUnitInstance.js +82 -3
  17. package/dist/lib/CompatibleUtil.d.ts +13 -17
  18. package/dist/lib/CompatibleUtil.js +95 -3
  19. package/dist/lib/ConfigSourceLoadUnitHook.d.ts +4 -9
  20. package/dist/lib/ConfigSourceLoadUnitHook.js +21 -3
  21. package/dist/lib/EggAppLoader.d.ts +15 -19
  22. package/dist/lib/EggAppLoader.js +128 -5
  23. package/dist/lib/EggCompatibleObject.d.ts +18 -3
  24. package/dist/lib/EggCompatibleObject.js +42 -4
  25. package/dist/lib/EggCompatibleProtoImpl.d.ts +21 -2
  26. package/dist/lib/EggCompatibleProtoImpl.js +52 -3
  27. package/dist/lib/EggContextCompatibleHook.d.ts +9 -13
  28. package/dist/lib/EggContextCompatibleHook.js +44 -9
  29. package/dist/lib/EggContextHandler.d.ts +9 -2
  30. package/dist/lib/EggContextHandler.js +26 -3
  31. package/dist/lib/EggContextImpl.d.ts +5 -9
  32. package/dist/lib/EggContextImpl.js +15 -3
  33. package/dist/lib/EggModuleLoader.d.ts +10 -14
  34. package/dist/lib/EggModuleLoader.js +54 -6
  35. package/dist/lib/EggQualifierProtoHook.d.ts +9 -13
  36. package/dist/lib/EggQualifierProtoHook.js +62 -6
  37. package/dist/lib/ModuleConfigLoader.d.ts +7 -11
  38. package/dist/lib/ModuleConfigLoader.js +81 -4
  39. package/dist/lib/ModuleHandler.d.ts +13 -2
  40. package/dist/lib/ModuleHandler.js +53 -8
  41. package/dist/lib/Utils.d.ts +1 -4
  42. package/dist/lib/Utils.js +36 -3
  43. package/dist/lib/ctx_lifecycle_middleware.d.ts +2 -2
  44. package/dist/lib/ctx_lifecycle_middleware.js +33 -4
  45. package/dist/lib/run_in_background.d.ts +3 -7
  46. package/dist/lib/run_in_background.js +58 -7
  47. package/dist/types.d.ts +8 -6
  48. package/dist/types.js +5 -15
  49. package/package.json +12 -12
  50. package/dist/AppLoadUnit-BOWdS4O9.d.ts +0 -23
  51. package/dist/AppLoadUnit-uyHgElRL.js +0 -78
  52. package/dist/AppLoadUnitInstance-4Z_vSQV3.js +0 -69
  53. package/dist/AppLoadUnitInstance-DQ-DxlmR.d.ts +0 -24
  54. package/dist/CompatibleUtil-CNhydb0E.js +0 -96
  55. package/dist/ConfigSourceLoadUnitHook-BV-R31vA.js +0 -22
  56. package/dist/EggAppLoader-DFYg65ry.js +0 -106
  57. package/dist/EggCompatibleObject-XfIZyirS.js +0 -37
  58. package/dist/EggCompatibleObject-lzUCfsIY.d.ts +0 -21
  59. package/dist/EggCompatibleProtoImpl-CPxLvSu4.js +0 -50
  60. package/dist/EggCompatibleProtoImpl-DpacWKFB.d.ts +0 -25
  61. package/dist/EggContextCompatibleHook-eFfN2xm6.js +0 -31
  62. package/dist/EggContextHandler-D8gfTbZs.js +0 -29
  63. package/dist/EggContextHandler-vGi67He5.d.ts +0 -13
  64. package/dist/EggContextImpl-DkCLPTzT.js +0 -18
  65. package/dist/EggModuleLoader-CCfQMmp5.js +0 -50
  66. package/dist/EggQualifierProtoHook-D5jNm-1y.js +0 -48
  67. package/dist/ModuleConfigLoader-CvZLf99E.js +0 -84
  68. package/dist/ModuleHandler-Dyx7JGj-.d.ts +0 -17
  69. package/dist/ModuleHandler-fKcUqWca.js +0 -46
  70. package/dist/Utils-11aRpnkd.js +0 -33
  71. package/dist/application-Ccljinuy.d.ts +0 -57
  72. package/dist/application-DFI1junS.js +0 -70
  73. package/dist/application.unittest-Cmia71Fx.js +0 -43
  74. package/dist/application.unittest-CpoCu6-E.d.ts +0 -26
  75. package/dist/context-BWYE1dif.js +0 -30
  76. package/dist/context-BoIt2G5h.d.ts +0 -24
  77. package/dist/ctx_lifecycle_middleware-CIeSrbVY.js +0 -27
  78. package/dist/ctx_lifecycle_middleware-DV7uN5PG.d.ts +0 -6
  79. package/dist/run_in_background-CEUPBmDB.js +0 -51
  80. package/dist/types-BHg5p4Xk.js +0 -3
  81. package/dist/types-CuoKQV4X.d.ts +0 -7
@@ -1,3 +1,90 @@
1
- import { AppLoadUnit } from "../AppLoadUnit-uyHgElRL.js";
2
-
3
- export { AppLoadUnit };
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
+ }
89
+ LoadUnitFactory.registerLoadUnitCreator(EggLoadUnitType.APP, AppLoadUnit.createModule);
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0FwcExvYWRVbml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUNMLGVBQWUsRUFHZixtQkFBbUIsRUFHbkIsZUFBZSxFQUVmLDBCQUEwQixHQUMzQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFFTCxhQUFhLEVBR2IsYUFBYSxFQUNiLDBCQUEwQixFQUFFLDhCQUE4QixFQUFFLGFBQWEsR0FDMUUsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRTNELE1BQU0sT0FBTyxXQUFXO0lBQ0wsTUFBTSxDQUFTO0lBQ2hDLEVBQUUsQ0FBSztJQUNFLElBQUksQ0FBUztJQUNiLElBQUksR0FBd0IsZUFBZSxDQUFDLEdBQUcsQ0FBQztJQUNoRCxRQUFRLENBQVM7SUFDbEIsUUFBUSxHQUEwQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXBFLFlBQVksSUFBWSxFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUN4RCxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0MsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFF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
@@ -1,2 +1,20 @@
1
- import { AppLoadUnitInstance } from "../AppLoadUnitInstance-DQ-DxlmR.js";
2
- export { AppLoadUnitInstance };
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;
20
+ }
@@ -1,3 +1,82 @@
1
- import { AppLoadUnitInstance } from "../AppLoadUnitInstance-4Z_vSQV3.js";
2
-
3
- export { AppLoadUnitInstance };
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,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 };
@@ -1,3 +1,95 @@
1
- import { CompatibleUtil } from "../CompatibleUtil-CNhydb0E.js";
2
-
3
- export { CompatibleUtil };
1
+ import { Application, Context } from 'egg';
2
+ import { EggPrototypeFactory } from '@eggjs/tegg-metadata';
3
+ import { InitTypeQualifierAttribute, ObjectInitType } from '@eggjs/tegg';
4
+ import { EggContainerFactory } from '@eggjs/tegg-runtime';
5
+ import { ProxyUtil } from '@eggjs/tegg-common-util';
6
+ export class CompatibleUtil {
7
+ static singletonProtoCache = new Map();
8
+ static requestProtoCache = new Map();
9
+ static getSingletonProto(name) {
10
+ if (!this.singletonProtoCache.has(name)) {
11
+ const proto = EggPrototypeFactory.instance.getPrototype(name, undefined, [{
12
+ attribute: InitTypeQualifierAttribute,
13
+ value: ObjectInitType.SINGLETON,
14
+ }]);
15
+ this.singletonProtoCache.set(name, proto);
16
+ }
17
+ return this.singletonProtoCache.get(name);
18
+ }
19
+ static getRequestProto(name) {
20
+ if (!this.requestProtoCache.has(name)) {
21
+ const proto = EggPrototypeFactory.instance.getPrototype(name, undefined, [{
22
+ attribute: InitTypeQualifierAttribute,
23
+ value: ObjectInitType.CONTEXT,
24
+ }]);
25
+ this.requestProtoCache.set(name, proto);
26
+ }
27
+ return this.requestProtoCache.get(name);
28
+ }
29
+ static singletonModuleProxyFactory(app, loadUnitInstance) {
30
+ let deprecated = false;
31
+ return function (_, p) {
32
+ const proto = CompatibleUtil.getSingletonProto(p);
33
+ const eggObj = EggContainerFactory.getEggObject(proto);
34
+ if (!deprecated) {
35
+ deprecated = true;
36
+ app.deprecate(`[egg/module] Please use await app.getEggObject(clazzName) instead of app.${loadUnitInstance.name}.${String(p)}`);
37
+ }
38
+ return eggObj.obj;
39
+ };
40
+ }
41
+ static appCompatible(app, loadUnitInstance) {
42
+ const moduleLoadUnitProxy = ProxyUtil.safeProxy(loadUnitInstance, CompatibleUtil.singletonModuleProxyFactory(app, loadUnitInstance));
43
+ Reflect.defineProperty(app.module, loadUnitInstance.name, {
44
+ configurable: true,
45
+ value: moduleLoadUnitProxy,
46
+ });
47
+ }
48
+ static contextModuleProxyFactory(holder, ctx, loadUnitInstance) {
49
+ const cacheKey = `_${loadUnitInstance.name}Proxy`;
50
+ if (!holder[cacheKey]) {
51
+ let deprecated = false;
52
+ const getter = function (_, p) {
53
+ const proto = CompatibleUtil.getRequestProto(p);
54
+ const eggObj = EggContainerFactory.getEggObject(proto, p);
55
+ if (!deprecated) {
56
+ deprecated = true;
57
+ ctx.app.deprecate(`[egg/module] Please use await ctx.getEggObject(clazzName) instead of ctx.${loadUnitInstance.name}.${String(p)}`);
58
+ }
59
+ return eggObj.obj;
60
+ };
61
+ holder[cacheKey] = ProxyUtil.safeProxy(loadUnitInstance, getter);
62
+ }
63
+ return holder[cacheKey];
64
+ }
65
+ static contextModuleCompatible(ctx, loadUnitInstances) {
66
+ const loadUnitInstanceMap = loadUnitInstances.reduce((p, c) => {
67
+ p[c.name] = c;
68
+ return p;
69
+ }, {});
70
+ Reflect.defineProperty(ctx, 'module', {
71
+ configurable: true,
72
+ enumerable: true,
73
+ get() {
74
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
75
+ const ctx = this;
76
+ if (!this._moduleProxy) {
77
+ const ctxModule = Object.create(loadUnitInstanceMap);
78
+ this._moduleProxy = ProxyUtil.safeProxy(ctxModule, (_, p) => {
79
+ const loadUnitInstance = Reflect.get(ctxModule, p);
80
+ if (!loadUnitInstance) {
81
+ return;
82
+ }
83
+ return CompatibleUtil.contextModuleProxyFactory(ctxModule, ctx, loadUnitInstance);
84
+ });
85
+ }
86
+ return this._moduleProxy;
87
+ },
88
+ });
89
+ }
90
+ static clean() {
91
+ this.singletonProtoCache.clear();
92
+ this.requestProtoCache.clear();
93
+ }
94
+ }
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcGF0aWJsZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0NvbXBhdGlibGVVdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQzNDLE9BQU8sRUFBcUIsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBeUIsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLG1CQUFtQixHQUFtQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3ZFLE1BQU0sQ0FBQyxpQkFBaUIsR0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVyRSxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBaUI7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztvQkFDeEUsU0FBUyxFQUFFLDBCQUEwQjtvQkFDckMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxTQUFTO2lCQUNoQyxDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFl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
@@ -1,15 +1,10 @@
1
- import { LoadUnit, LoadUnitLifecycleContext } from "@eggjs/tegg-metadata";
2
- import { LifecycleHook } from "@eggjs/tegg";
3
-
4
- //#region src/lib/ConfigSourceLoadUnitHook.d.ts
5
-
1
+ import { type LoadUnit, type LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
2
+ import { type LifecycleHook } from '@eggjs/tegg';
6
3
  /**
7
4
  * Copy from standalone/src/ConfigSourceLoadUnitHook
8
5
  * Hook for inject moduleConfig.
9
6
  * Add default qualifier value is current module name.
10
7
  */
11
- declare class ConfigSourceLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
12
- preCreate(ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
8
+ export declare class ConfigSourceLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
9
+ preCreate(ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
13
10
  }
14
- //#endregion
15
- export { ConfigSourceLoadUnitHook };
@@ -1,3 +1,21 @@
1
- import { ConfigSourceLoadUnitHook } from "../ConfigSourceLoadUnitHook-BV-R31vA.js";
2
-
3
- export { ConfigSourceLoadUnitHook };
1
+ import {} from '@eggjs/tegg-metadata';
2
+ import { PrototypeUtil, QualifierUtil, ConfigSourceQualifier, ConfigSourceQualifierAttribute, } from '@eggjs/tegg';
3
+ /**
4
+ * Copy from standalone/src/ConfigSourceLoadUnitHook
5
+ * Hook for inject moduleConfig.
6
+ * Add default qualifier value is current module name.
7
+ */
8
+ export class ConfigSourceLoadUnitHook {
9
+ async preCreate(ctx, loadUnit) {
10
+ const classList = await ctx.loader.load();
11
+ for (const clazz of classList) {
12
+ const injectObjects = PrototypeUtil.getInjectObjects(clazz);
13
+ const moduleConfigObject = injectObjects.find(t => t.objName === 'moduleConfig');
14
+ const configSourceQualifier = QualifierUtil.getProperQualifier(clazz, 'moduleConfig', ConfigSourceQualifierAttribute);
15
+ if (moduleConfigObject && !configSourceQualifier) {
16
+ ConfigSourceQualifier(loadUnit.name)(clazz.prototype, moduleConfigObject.refName);
17
+ }
18
+ }
19
+ }
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9Db25maWdTb3VyY2VMb2FkVW5pdEhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnRCxNQUFNLHNCQUFzQixDQUFDO0FBQ3BGLE9BQU8sRUFFTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHFCQUFxQixFQUNyQiw4QkFBOEIsR0FDL0IsTUFBTSxhQUFhLENBQUM7QUFFckI7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUE2QixFQUFFLFFBQWtCO1FBQy9ELE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQyxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQzlCLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLGNBQWMsQ0FBQyxDQUFDO1lBQ2pGLE1BQU0scUJBQXFCLEdBQUcsYUFBYSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsOEJBQThCLENBQUMsQ0FBQztZQUN0SCxJQUFJLGtCQUFrQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDakQscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDcEYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -1,20 +1,16 @@
1
- import { Loader } from "@eggjs/tegg-metadata";
2
- import { EggProtoImplClass } from "@eggjs/tegg";
3
- import { Application } from "egg";
4
-
5
- //#region src/lib/EggAppLoader.d.ts
6
- declare const APP_CLAZZ_BLACK_LIST: string[];
7
- declare const CONTEXT_CLAZZ_BLACK_LIST: string[];
8
- declare const DEFAULT_APP_CLAZZ: string[];
9
- declare const DEFAULT_CONTEXT_CLAZZ: string[];
10
- declare class EggAppLoader implements Loader {
11
- private readonly app;
12
- private readonly moduleConfigLoader;
13
- constructor(app: Application);
14
- private buildClazz;
15
- private buildAppLoggerClazz;
16
- private getLoggerNames;
17
- load(): Promise<EggProtoImplClass[]>;
1
+ import { Application } from 'egg';
2
+ import { type Loader } from '@eggjs/tegg-metadata';
3
+ import { type 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[]>;
18
16
  }
19
- //#endregion
20
- export { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ, EggAppLoader };
@@ -1,5 +1,128 @@
1
- import "../EggCompatibleProtoImpl-CPxLvSu4.js";
2
- import "../ModuleConfigLoader-CvZLf99E.js";
3
- import { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ, EggAppLoader } from "../EggAppLoader-DFYg65ry.js";
4
-
5
- export { APP_CLAZZ_BLACK_LIST, CONTEXT_CLAZZ_BLACK_LIST, DEFAULT_APP_CLAZZ, DEFAULT_CONTEXT_CLAZZ, EggAppLoader };
1
+ import { Application } from 'egg';
2
+ import { TeggError } from '@eggjs/tegg-metadata';
3
+ import { AccessLevel, EggQualifierAttribute, EggType, InitTypeQualifierAttribute, LoadUnitNameQualifierAttribute, ObjectInitType, PrototypeUtil, QualifierUtil, } from '@eggjs/tegg';
4
+ import { ObjectUtils } from '@eggjs/tegg-common-util';
5
+ import { BackgroundTaskHelper } from '@eggjs/tegg-background-task';
6
+ import { EggObjectFactory } from '@eggjs/tegg-dynamic-inject-runtime';
7
+ import { ModuleConfigLoader } from "./ModuleConfigLoader.js";
8
+ import { COMPATIBLE_PROTO_IMPLE_TYPE } from "./EggCompatibleProtoImpl.js";
9
+ export const APP_CLAZZ_BLACK_LIST = [
10
+ 'eggObjectFactory',
11
+ 'moduleConfigs',
12
+ ];
13
+ export const CONTEXT_CLAZZ_BLACK_LIST = [
14
+ // just use the app.logger, ctx logger is deprecated.
15
+ 'logger',
16
+ ];
17
+ export const DEFAULT_APP_CLAZZ = [];
18
+ export const DEFAULT_CONTEXT_CLAZZ = [
19
+ 'user',
20
+ ];
21
+ export class EggAppLoader {
22
+ app;
23
+ moduleConfigLoader;
24
+ constructor(app) {
25
+ this.app = app;
26
+ this.moduleConfigLoader = new ModuleConfigLoader(this.app);
27
+ }
28
+ buildClazz(name, eggType) {
29
+ const app = this.app;
30
+ let func;
31
+ if (eggType === EggType.APP) {
32
+ func = function () {
33
+ return app[name];
34
+ };
35
+ }
36
+ else {
37
+ func = function () {
38
+ const ctx = app.currentContext;
39
+ if (!ctx) {
40
+ // ctx has been destroyed, throw humanize error info
41
+ throw TeggError.create(`Can not read property \`${name}\` because egg ctx has been destroyed`, 'read_after_ctx_destroyed');
42
+ }
43
+ return ctx[name];
44
+ };
45
+ }
46
+ Object.defineProperty(func, 'name', {
47
+ value: name,
48
+ writable: false,
49
+ enumerable: false,
50
+ configurable: true,
51
+ });
52
+ PrototypeUtil.setIsEggPrototype(func);
53
+ PrototypeUtil.setFilePath(func, 'mock_file_path');
54
+ PrototypeUtil.setProperty(func, {
55
+ name,
56
+ initType: ObjectInitType.SINGLETON,
57
+ accessLevel: AccessLevel.PUBLIC,
58
+ protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
59
+ });
60
+ QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
61
+ QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
62
+ QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, eggType);
63
+ return func;
64
+ }
65
+ buildAppLoggerClazz(name) {
66
+ const app = this.app;
67
+ const func = function () {
68
+ return app.getLogger(name);
69
+ };
70
+ Object.defineProperty(func, 'name', {
71
+ value: name,
72
+ writable: false,
73
+ enumerable: false,
74
+ configurable: true,
75
+ });
76
+ PrototypeUtil.setIsEggPrototype(func);
77
+ PrototypeUtil.setFilePath(func, 'mock_file_path');
78
+ PrototypeUtil.setProperty(func, {
79
+ name,
80
+ initType: ObjectInitType.SINGLETON,
81
+ accessLevel: AccessLevel.PUBLIC,
82
+ protoImplType: COMPATIBLE_PROTO_IMPLE_TYPE,
83
+ });
84
+ QualifierUtil.addProtoQualifier(func, LoadUnitNameQualifierAttribute, 'app');
85
+ QualifierUtil.addProtoQualifier(func, InitTypeQualifierAttribute, ObjectInitType.SINGLETON);
86
+ QualifierUtil.addProtoQualifier(func, EggQualifierAttribute, EggType.APP);
87
+ return func;
88
+ }
89
+ getLoggerNames(ctxClazzNames, singletonClazzNames) {
90
+ const loggerNames = Array.from(this.app.loggers.keys());
91
+ // filter logger/coreLogger
92
+ return loggerNames.filter(t => !ctxClazzNames.includes(t) && !singletonClazzNames.includes(t));
93
+ }
94
+ async load() {
95
+ const app = this.app;
96
+ const appProperties = ObjectUtils.getProperties(app);
97
+ const contextProperties = ObjectUtils.getProperties(app.context);
98
+ // custom plugin may define property conflict with default list
99
+ const allSingletonClazzNameSet = new Set([
100
+ ...appProperties,
101
+ ...DEFAULT_APP_CLAZZ,
102
+ ]);
103
+ APP_CLAZZ_BLACK_LIST.forEach(t => allSingletonClazzNameSet.delete(t));
104
+ const allSingletonClazzNames = Array.from(allSingletonClazzNameSet);
105
+ const allContextClazzNamesSet = new Set([
106
+ ...contextProperties,
107
+ ...DEFAULT_CONTEXT_CLAZZ,
108
+ ]);
109
+ CONTEXT_CLAZZ_BLACK_LIST.forEach(t => allContextClazzNamesSet.delete(t));
110
+ const allContextClazzNames = Array.from(allContextClazzNamesSet);
111
+ const loggerNames = this.getLoggerNames(allContextClazzNames, allSingletonClazzNames);
112
+ const allSingletonClazzs = allSingletonClazzNames.map(name => this.buildClazz(name, EggType.APP));
113
+ const allContextClazzs = allContextClazzNames.map(name => this.buildClazz(name, EggType.CONTEXT));
114
+ const appLoggerClazzs = loggerNames.map(name => this.buildAppLoggerClazz(name));
115
+ const moduleConfigList = this.moduleConfigLoader.loadModuleConfigList();
116
+ return [
117
+ ...allSingletonClazzs,
118
+ ...allContextClazzs,
119
+ ...appLoggerClazzs,
120
+ ...moduleConfigList,
121
+ // inner helper class list
122
+ // TODO: should auto the inner class
123
+ BackgroundTaskHelper,
124
+ EggObjectFactory,
125
+ ];
126
+ }
127
+ }
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQXBwTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9FZ2dBcHBMb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNsQyxPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFdBQVcsRUFFWCxxQkFBcUIsRUFDckIsT0FBTyxFQUNQLDBCQUEwQixFQUMxQiw4QkFBOEIsRUFDOUIsY0FBYyxFQUNkLGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLGtCQUFrQjtJQUNsQixlQUFlO0NBQ2hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxxREFBcUQ7SUFDckQsUUFBUTtDQUNULENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBYSxFQUFFLENBQUM7QUFDOUMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUc7SUFDbkMsTUFBTTtDQUNQLENBQUM7QUFFRixNQUFNLE9BQU8sWUFBWTtJQUNOLEdBQUcsQ0FBYztJQUNqQixrQkFBa0IsQ0FBcUI7SUFFeEQsWUFBWSxHQUFnQjtRQUMxQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxr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
@@ -1,3 +1,18 @@
1
- import "../EggCompatibleProtoImpl-DpacWKFB.js";
2
- import { EggCompatibleObject } from "../EggCompatibleObject-lzUCfsIY.js";
3
- export { EggCompatibleObject };
1
+ import { type EggObject } from '@eggjs/tegg-runtime';
2
+ import { type EggObjectName } from '@eggjs/tegg';
3
+ import { type EggPrototype } from '@eggjs/tegg-metadata';
4
+ import { EggCompatibleProtoImpl } from './EggCompatibleProtoImpl.ts';
5
+ declare const OBJ: unique symbol;
6
+ export declare class EggCompatibleObject implements EggObject {
7
+ readonly isReady: boolean;
8
+ private [OBJ];
9
+ readonly proto: EggCompatibleProtoImpl;
10
+ readonly name: EggObjectName;
11
+ readonly id: string;
12
+ readonly isContext: boolean;
13
+ constructor(name: EggObjectName, proto: EggCompatibleProtoImpl);
14
+ get obj(): object;
15
+ injectProperty(): void;
16
+ static createObject(name: EggObjectName, proto: EggPrototype): Promise<EggCompatibleObject>;
17
+ }
18
+ export {};