@eggjs/tegg-runtime 4.0.0-beta.4 → 4.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +12 -0
  2. package/dist/factory/EggContainerFactory.d.ts +30 -0
  3. package/dist/factory/EggContainerFactory.js +80 -0
  4. package/dist/factory/EggObjectFactory.d.ts +17 -0
  5. package/dist/factory/EggObjectFactory.js +52 -0
  6. package/dist/factory/LoadUnitInstanceFactory.d.ts +15 -0
  7. package/dist/factory/LoadUnitInstanceFactory.js +49 -0
  8. package/dist/factory/index.js +5 -0
  9. package/dist/impl/ContextInitiator.d.ts +12 -0
  10. package/dist/impl/ContextInitiator.js +37 -0
  11. package/dist/impl/ContextObjectGraph.d.ts +10 -0
  12. package/dist/impl/ContextObjectGraph.js +36 -0
  13. package/dist/impl/EggAlwaysNewObjectContainer.d.ts +17 -0
  14. package/dist/impl/EggAlwaysNewObjectContainer.js +30 -0
  15. package/dist/impl/EggObjectImpl.d.ts +21 -0
  16. package/dist/impl/EggObjectImpl.js +126 -0
  17. package/dist/impl/EggObjectUtil.d.ts +11 -0
  18. package/dist/impl/EggObjectUtil.js +147 -0
  19. package/dist/impl/ModuleLoadUnitInstance.d.ts +22 -0
  20. package/dist/impl/ModuleLoadUnitInstance.js +73 -0
  21. package/dist/impl/index.js +8 -0
  22. package/dist/index.d.ts +17 -0
  23. package/dist/index.js +21 -0
  24. package/dist/model/AbstractEggContext.d.ts +22 -0
  25. package/dist/model/AbstractEggContext.js +83 -0
  26. package/dist/model/ContextHandler.d.ts +12 -0
  27. package/dist/model/ContextHandler.js +18 -0
  28. package/dist/model/EggContext.d.ts +7 -0
  29. package/dist/model/EggContext.js +7 -0
  30. package/dist/model/EggObject.d.ts +7 -0
  31. package/dist/model/EggObject.js +7 -0
  32. package/dist/model/LoadUnitInstance.d.ts +7 -0
  33. package/dist/model/LoadUnitInstance.js +7 -0
  34. package/dist/model/index.js +7 -0
  35. package/package.json +26 -26
  36. package/src/factory/EggContainerFactory.d.ts +0 -26
  37. package/src/factory/EggContainerFactory.js +0 -77
  38. package/src/factory/EggObjectFactory.d.ts +0 -14
  39. package/src/factory/EggObjectFactory.js +0 -46
  40. package/src/factory/LoadUnitInstanceFactory.d.ts +0 -12
  41. package/src/factory/LoadUnitInstanceFactory.js +0 -57
  42. package/src/factory/index.d.ts +0 -3
  43. package/src/factory/index.js +0 -4
  44. package/src/impl/ContextInitiator.d.ts +0 -8
  45. package/src/impl/ContextInitiator.js +0 -37
  46. package/src/impl/ContextObjectGraph.d.ts +0 -6
  47. package/src/impl/ContextObjectGraph.js +0 -38
  48. package/src/impl/EggAlwaysNewObjectContainer.d.ts +0 -13
  49. package/src/impl/EggAlwaysNewObjectContainer.js +0 -32
  50. package/src/impl/EggObjectImpl.d.ts +0 -17
  51. package/src/impl/EggObjectImpl.js +0 -178
  52. package/src/impl/EggObjectUtil.d.ts +0 -7
  53. package/src/impl/EggObjectUtil.js +0 -172
  54. package/src/impl/ModuleLoadUnitInstance.d.ts +0 -18
  55. package/src/impl/ModuleLoadUnitInstance.js +0 -90
  56. package/src/impl/index.d.ts +0 -6
  57. package/src/impl/index.js +0 -7
  58. package/src/index.d.ts +0 -5
  59. package/src/index.js +0 -5
  60. package/src/model/AbstractEggContext.d.ts +0 -18
  61. package/src/model/AbstractEggContext.js +0 -89
  62. package/src/model/ContextHandler.d.ts +0 -9
  63. package/src/model/ContextHandler.js +0 -14
  64. package/src/model/EggContext.d.ts +0 -3
  65. package/src/model/EggContext.js +0 -3
  66. package/src/model/EggObject.d.ts +0 -3
  67. package/src/model/EggObject.js +0 -3
  68. package/src/model/LoadUnitInstance.d.ts +0 -3
  69. package/src/model/LoadUnitInstance.js +0 -3
  70. package/src/model/index.d.ts +0 -5
  71. package/src/model/index.js +0 -6
@@ -1,172 +0,0 @@
1
- import { EggContainerFactory } from '../factory/index.js';
2
- export class EggObjectUtil {
3
- static eggObjectGetProperty(eggObject) {
4
- return {
5
- get() {
6
- return eggObject.obj;
7
- },
8
- configurable: true,
9
- enumerable: true,
10
- };
11
- }
12
- static contextEggObjectGetProperty(proto, objName) {
13
- const PROTO_OBJ_GETTER = Symbol(`EggPrototype#objGetter#${String(objName)}`);
14
- if (!proto[PROTO_OBJ_GETTER]) {
15
- proto[PROTO_OBJ_GETTER] = {
16
- get() {
17
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
18
- return eggObject.obj;
19
- },
20
- configurable: true,
21
- enumerable: true,
22
- };
23
- }
24
- return proto[PROTO_OBJ_GETTER];
25
- }
26
- static eggObjectProxy(eggObject) {
27
- let _obj;
28
- function getObj() {
29
- if (!_obj) {
30
- _obj = eggObject.obj;
31
- }
32
- return _obj;
33
- }
34
- const proxy = new Proxy({}, {
35
- defineProperty(_target, property, attributes) {
36
- const obj = getObj();
37
- Object.defineProperty(obj, property, attributes);
38
- return true;
39
- },
40
- deleteProperty(_target, p) {
41
- const obj = getObj();
42
- delete obj[p];
43
- return true;
44
- },
45
- get(target, p) {
46
- // make get be lazy
47
- if (p === 'then')
48
- return;
49
- if (Object.prototype[p]) {
50
- return target[p];
51
- }
52
- const obj = getObj();
53
- const val = obj[p];
54
- if (typeof val === 'function') {
55
- return val.bind(obj);
56
- }
57
- return val;
58
- },
59
- getOwnPropertyDescriptor(_target, p) {
60
- const obj = getObj();
61
- return Object.getOwnPropertyDescriptor(obj, p);
62
- },
63
- getPrototypeOf() {
64
- const obj = getObj();
65
- return Object.getPrototypeOf(obj);
66
- },
67
- has(_target, p) {
68
- const obj = getObj();
69
- return p in obj;
70
- },
71
- isExtensible() {
72
- const obj = getObj();
73
- return Object.isExtensible(obj);
74
- },
75
- ownKeys() {
76
- const obj = getObj();
77
- return Reflect.ownKeys(obj);
78
- },
79
- preventExtensions() {
80
- const obj = getObj();
81
- Object.preventExtensions(obj);
82
- return true;
83
- },
84
- set(_target, p, newValue) {
85
- const obj = getObj();
86
- obj[p] = newValue;
87
- return true;
88
- },
89
- setPrototypeOf(_target, v) {
90
- const obj = getObj();
91
- Object.setPrototypeOf(obj, v);
92
- return true;
93
- },
94
- });
95
- return proxy;
96
- }
97
- static contextEggObjectProxy(proto, objName) {
98
- const PROTO_OBJ_PROXY = Symbol(`EggPrototype#objProxy#${String(objName)}`);
99
- if (!proto[PROTO_OBJ_PROXY]) {
100
- proto[PROTO_OBJ_PROXY] = new Proxy({}, {
101
- defineProperty(_target, property, attributes) {
102
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
103
- const obj = eggObject.obj;
104
- Object.defineProperty(obj, property, attributes);
105
- return true;
106
- },
107
- deleteProperty(_target, p) {
108
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
109
- const obj = eggObject.obj;
110
- delete obj[p];
111
- return true;
112
- },
113
- get(target, p) {
114
- // make get be lazy
115
- if (p === 'then')
116
- return;
117
- if (Object.prototype[p]) {
118
- return target[p];
119
- }
120
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
121
- const obj = eggObject.obj;
122
- return obj[p];
123
- },
124
- getOwnPropertyDescriptor(_target, p) {
125
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
126
- const obj = eggObject.obj;
127
- return Object.getOwnPropertyDescriptor(obj, p);
128
- },
129
- getPrototypeOf() {
130
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
131
- const obj = eggObject.obj;
132
- return Object.getPrototypeOf(obj);
133
- },
134
- has(_target, p) {
135
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
136
- const obj = eggObject.obj;
137
- return p in obj;
138
- },
139
- isExtensible() {
140
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
141
- const obj = eggObject.obj;
142
- return Object.isExtensible(obj);
143
- },
144
- ownKeys() {
145
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
146
- const obj = eggObject.obj;
147
- return Reflect.ownKeys(obj);
148
- },
149
- preventExtensions() {
150
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
151
- const obj = eggObject.obj;
152
- Object.preventExtensions(obj);
153
- return true;
154
- },
155
- set(_target, p, newValue) {
156
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
157
- const obj = eggObject.obj;
158
- obj[p] = newValue;
159
- return true;
160
- },
161
- setPrototypeOf(_target, v) {
162
- const eggObject = EggContainerFactory.getEggObject(proto, objName);
163
- const obj = eggObject.obj;
164
- Object.setPrototypeOf(obj, v);
165
- return true;
166
- },
167
- });
168
- }
169
- return proto[PROTO_OBJ_PROXY];
170
- }
171
- }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ09iamVjdFV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFNBQW9CO1FBQzlDLE9BQU87WUFDTCxHQUFHO2dCQUNELE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUN2QixDQUFDO1lBQ0QsWUFBWSxFQUFFLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsMkJBQTJCLENBQUMsS0FBbUIsRUFBRSxPQUFvQjtRQUMxRSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUM3QixLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRztnQkFDeEIsR0FBRztvQkFDRCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUNuRSxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLENBQUM7Z0JBQ0QsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFvQjtRQUN4QyxJQUFJLElBQVksQ0FBQztRQUNqQixTQUFTLE1BQU07WUFDYixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ1YsSUFBSSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENB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
@@ -1,18 +0,0 @@
1
- import type { EggObject, EggObjectName, EggPrototype, EggPrototypeName, LoadUnit, LoadUnitInstance, LoadUnitInstanceLifecycleContext } from '@eggjs/tegg-types';
2
- export declare class ModuleLoadUnitInstance implements LoadUnitInstance {
3
- readonly loadUnit: LoadUnit;
4
- readonly id: string;
5
- readonly name: string;
6
- private protoToCreateMap;
7
- private eggObjectMap;
8
- private eggObjectPromiseMap;
9
- constructor(loadUnit: LoadUnit);
10
- iterateProtoToCreate(): IterableIterator<[EggObjectName, EggPrototype]>;
11
- addProtoToCreate(name: string, proto: EggPrototype): void;
12
- deleteProtoToCreate(name: string): void;
13
- init(ctx: LoadUnitInstanceLifecycleContext): Promise<void>;
14
- destroy(): Promise<void>;
15
- getOrCreateEggObject(name: EggPrototypeName, proto: EggPrototype): Promise<EggObject>;
16
- getEggObject(name: EggPrototypeName, proto: EggPrototype): EggObject;
17
- static createModuleLoadUnitInstance(ctx: LoadUnitInstanceLifecycleContext): LoadUnitInstance;
18
- }
@@ -1,90 +0,0 @@
1
- import { MapUtil } from '@eggjs/tegg-common-util';
2
- import { IdenticalUtil } from '@eggjs/tegg-lifecycle';
3
- import { EggLoadUnitType, ObjectInitType } from '@eggjs/tegg-types';
4
- import { EggObjectFactory } from '../factory/EggObjectFactory.js';
5
- import { LoadUnitInstanceFactory } from '../factory/LoadUnitInstanceFactory.js';
6
- import { LoadUnitInstanceLifecycleUtil } from '../model/LoadUnitInstance.js';
7
- export class ModuleLoadUnitInstance {
8
- loadUnit;
9
- id;
10
- name;
11
- protoToCreateMap = [];
12
- eggObjectMap = new Map();
13
- eggObjectPromiseMap = 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) {
19
- if (proto.initType === ObjectInitType.SINGLETON) {
20
- this.protoToCreateMap.push([
21
- proto.name, proto,
22
- ]);
23
- }
24
- }
25
- this.id = IdenticalUtil.createLoadUnitInstanceId(loadUnit.id);
26
- }
27
- iterateProtoToCreate() {
28
- return this.protoToCreateMap[Symbol.iterator]();
29
- }
30
- addProtoToCreate(name, proto) {
31
- this.protoToCreateMap.push([name, proto]);
32
- }
33
- deleteProtoToCreate(name) {
34
- const index = this.protoToCreateMap.findIndex(([protoName]) => protoName === name);
35
- if (index !== -1) {
36
- this.protoToCreateMap.splice(index, 1);
37
- }
38
- }
39
- async init(ctx) {
40
- await LoadUnitInstanceLifecycleUtil.objectPreCreate(ctx, this);
41
- for (const [name, proto] of this.protoToCreateMap) {
42
- await this.getOrCreateEggObject(name, proto);
43
- }
44
- await LoadUnitInstanceLifecycleUtil.objectPostCreate(ctx, this);
45
- }
46
- async destroy() {
47
- const objs = [];
48
- for (const protoObjMap of this.eggObjectMap.values()) {
49
- for (const obj of protoObjMap.values()) {
50
- objs.push(obj);
51
- }
52
- }
53
- this.eggObjectMap.clear();
54
- await Promise.all(objs.map(async (obj) => {
55
- await EggObjectFactory.destroyObject(obj);
56
- }));
57
- }
58
- async getOrCreateEggObject(name, proto) {
59
- if (!this.loadUnit.containPrototype(proto)) {
60
- throw new Error('load unit not contain proto');
61
- }
62
- const protoObjMap = MapUtil.getOrStore(this.eggObjectMap, proto.id, new Map());
63
- if (!protoObjMap.has(name)) {
64
- const protoObjPromiseMap = MapUtil.getOrStore(this.eggObjectPromiseMap, proto.id, new Map());
65
- if (!protoObjPromiseMap.has(name)) {
66
- const objPromise = EggObjectFactory.createObject(name, proto);
67
- protoObjPromiseMap.set(name, objPromise);
68
- const obj = await objPromise;
69
- protoObjPromiseMap.delete(name);
70
- protoObjMap.set(name, obj);
71
- }
72
- else {
73
- await protoObjPromiseMap.get(name);
74
- }
75
- }
76
- return protoObjMap.get(name);
77
- }
78
- getEggObject(name, proto) {
79
- const protoObjMap = this.eggObjectMap.get(proto.id);
80
- if (!protoObjMap || !protoObjMap.has(name)) {
81
- throw new Error(`EggObject ${String(proto.name)} not found`);
82
- }
83
- return protoObjMap.get(name);
84
- }
85
- static createModuleLoadUnitInstance(ctx) {
86
- return new ModuleLoadUnitInstance(ctx.loadUnit);
87
- }
88
- }
89
- LoadUnitInstanceFactory.registerLoadUnitInstanceClass(EggLoadUnitType.MODULE, ModuleLoadUnitInstance.createModuleLoadUnitInstance);
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlTG9hZFVuaXRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIk1vZHVsZUxvYWRVbml0SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBV3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdFLE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsUUFBUSxDQUFXO0lBQ25CLEVBQUUsQ0FBUztJQUNYLElBQUksQ0FBUztJQUNkLGdCQUFnQixHQUF1QyxFQUFFLENBQUM7SUFDMUQsWUFBWSxHQUE4QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ3BFLG1CQUFtQixHQUF1RCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTVGLFlBQVksUUFBa0I7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNyRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7b0JBQ3pCLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSztpQkFDbEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLEtBQW1CO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBRSxJQUFJLEVBQUUsS0FBSyxDQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBWTtRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxTQUFTLENBQUUsRUFBRSxFQUFFLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3JGLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQXFDO1FBQzlDLE1BQU0sNkJBQTZCLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMvRCxLQUFLLE1BQU0sQ0FBRSxJQUFJLEVBQUUsS0FBSyxDQUFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDcEQsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxNQUFNLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLElBQUksR0FBZ0IsRUFBRSxDQUFDO1FBQzdCLEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQ3JELEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsRUFBRTtZQUNyQyxNQUFNLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFzQixFQUFFLEtBQW1CO1FBQ3BFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzdGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDOUQsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDekMsTUFBTSxHQUFHLEdBQUcsTUFBTSxVQUFVLENBQUM7Z0JBQzdCLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBc0IsRUFBRSxLQUFtQjtRQUN0RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLDRCQUE0QixDQUFDLEdBQXFDO1FBQ3ZFLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztDQUNGO0FBRUQsdUJBQXVCLENBQUMsNkJBQTZCLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDIn0=
@@ -1,6 +0,0 @@
1
- export * from './ContextInitiator.js';
2
- export * from './ContextObjectGraph.js';
3
- export * from './EggAlwaysNewObjectContainer.js';
4
- export * from './EggObjectImpl.js';
5
- export * from './EggObjectUtil.js';
6
- export * from './ModuleLoadUnitInstance.js';
package/src/impl/index.js DELETED
@@ -1,7 +0,0 @@
1
- export * from './ContextInitiator.js';
2
- export * from './ContextObjectGraph.js';
3
- export * from './EggAlwaysNewObjectContainer.js';
4
- export * from './EggObjectImpl.js';
5
- export * from './EggObjectUtil.js';
6
- export * from './ModuleLoadUnitInstance.js';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQyJ9
package/src/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from '@eggjs/tegg-types/runtime';
2
- export type { EggRuntimeContext as EggContext } from '@eggjs/tegg-types/runtime';
3
- export * from './model/index.js';
4
- export * from './impl/index.js';
5
- export * from './factory/index.js';
package/src/index.js DELETED
@@ -1,5 +0,0 @@
1
- export * from '@eggjs/tegg-types/runtime';
2
- export * from './model/index.js';
3
- export * from './impl/index.js';
4
- export * from './factory/index.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG9CQUFvQixDQUFDIn0=
@@ -1,18 +0,0 @@
1
- import type { EggRuntimeContext, EggContextLifecycleContext, EggObject, EggObjectName, EggPrototype, EggPrototypeName } from '@eggjs/tegg-types';
2
- export declare abstract class AbstractEggContext implements EggRuntimeContext {
3
- private contextData;
4
- private protoToCreate;
5
- private eggObjectMap;
6
- private eggObjectPromiseMap;
7
- private destroyed;
8
- abstract id: string;
9
- addProtoToCreate(name: string, proto: EggPrototype): void;
10
- deleteProtoToCreate(name: string): void;
11
- destroy(ctx: EggContextLifecycleContext): Promise<void>;
12
- get(key: string | symbol): any | undefined;
13
- getEggObject(name: EggPrototypeName, proto: EggPrototype): EggObject;
14
- getOrCreateEggObject(name: EggPrototypeName, proto: EggPrototype): Promise<EggObject>;
15
- init(ctx: EggContextLifecycleContext): Promise<void>;
16
- iterateProtoToCreate(): IterableIterator<[EggObjectName, EggPrototype]>;
17
- set(key: string | symbol, val: any): void;
18
- }
@@ -1,89 +0,0 @@
1
- import { ObjectInitType } from '@eggjs/tegg-types';
2
- import { TeggError } from '@eggjs/tegg-metadata';
3
- import { MapUtil } from '@eggjs/tegg-common-util';
4
- import { EggContainerFactory, EggObjectFactory } from '../factory/index.js';
5
- import { ContextHandler } from './ContextHandler.js';
6
- import { EggContextLifecycleUtil } from './EggContext.js';
7
- export class AbstractEggContext {
8
- contextData = new Map();
9
- protoToCreate = new Map();
10
- eggObjectMap = new Map();
11
- eggObjectPromiseMap = new Map();
12
- destroyed = false;
13
- addProtoToCreate(name, proto) {
14
- this.protoToCreate.set(name, proto);
15
- }
16
- deleteProtoToCreate(name) {
17
- this.protoToCreate.delete(name);
18
- }
19
- async destroy(ctx) {
20
- await EggContextLifecycleUtil.objectPreDestroy(ctx, this);
21
- const objs = [];
22
- for (const protoObjMap of this.eggObjectMap.values()) {
23
- for (const protoObj of protoObjMap.values()) {
24
- objs.push(protoObj);
25
- }
26
- }
27
- this.eggObjectMap.clear();
28
- await Promise.all(objs.map(async (obj) => {
29
- await EggObjectFactory.destroyObject(obj);
30
- }));
31
- this.contextData.clear();
32
- this.destroyed = true;
33
- await EggContextLifecycleUtil.clearObjectLifecycle(this);
34
- }
35
- get(key) {
36
- return this.contextData.get(key);
37
- }
38
- getEggObject(name, proto) {
39
- if (this.destroyed) {
40
- throw TeggError.create(`Can not read property \`${String(name)}\` because egg ctx has been destroyed`, 'read_after_ctx_destroyed');
41
- }
42
- const protoObjMap = this.eggObjectMap.get(proto.id);
43
- if (!protoObjMap || !protoObjMap.has(name)) {
44
- throw new Error(`EggObject ${String(proto.name)} not found`);
45
- }
46
- return protoObjMap.get(name);
47
- }
48
- async getOrCreateEggObject(name, proto) {
49
- const protoObjMap = MapUtil.getOrStore(this.eggObjectMap, proto.id, new Map());
50
- if (!protoObjMap.has(name)) {
51
- const protoObjPromiseMap = MapUtil.getOrStore(this.eggObjectPromiseMap, proto.id, new Map());
52
- if (!protoObjPromiseMap.has(name)) {
53
- const objPromise = EggObjectFactory.createObject(name, proto);
54
- protoObjPromiseMap.set(name, objPromise);
55
- const obj = await objPromise;
56
- protoObjPromiseMap.delete(name);
57
- if (!protoObjPromiseMap.size) {
58
- this.eggObjectPromiseMap.delete(proto.id);
59
- }
60
- protoObjMap.set(name, obj);
61
- }
62
- else {
63
- await protoObjPromiseMap.get(name);
64
- }
65
- }
66
- return protoObjMap.get(name);
67
- }
68
- async init(ctx) {
69
- await EggContextLifecycleUtil.objectPreCreate(ctx, this);
70
- for (const [name, proto] of this.protoToCreate) {
71
- await this.getOrCreateEggObject(name, proto);
72
- }
73
- await EggContextLifecycleUtil.objectPostCreate(ctx, this);
74
- }
75
- iterateProtoToCreate() {
76
- return this.protoToCreate.entries();
77
- }
78
- set(key, val) {
79
- this.contextData.set(key, val);
80
- }
81
- }
82
- EggContainerFactory.registerContainerGetMethod(ObjectInitType.CONTEXT, () => {
83
- const ctx = ContextHandler.getContext();
84
- if (!ctx) {
85
- throw new Error('ctx is required');
86
- }
87
- return ctx;
88
- });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RFZ2dDb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQWJzdHJhY3RFZ2dDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxNQUFNLE9BQWdCLGtCQUFrQjtJQUM5QixXQUFXLEdBQThCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkQsYUFBYSxHQUF3QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQy9ELFlBQVksR0FBOEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNwRSxtQkFBbUIsR0FBdUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNwRixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBSTFCLGdCQUFnQixDQUFDLElBQVksRUFBRSxLQUFtQjtRQUNoRCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBK0I7UUFDM0MsTUFBTSx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUQsTUFBTSxJQUFJLEdBQWdCLEVBQUUs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
@@ -1,9 +0,0 @@
1
- import type { EggRuntimeContext } from '@eggjs/tegg-types';
2
- type runInContextCallback<R = any> = (context: EggRuntimeContext, fn: () => Promise<R>) => Promise<R>;
3
- export declare class ContextHandler {
4
- static getContextCallback: () => EggRuntimeContext | undefined;
5
- static runInContextCallback: runInContextCallback;
6
- static getContext(): EggRuntimeContext | undefined;
7
- static run<R = any>(context: EggRuntimeContext, fn: () => Promise<R>): Promise<R>;
8
- }
9
- export {};
@@ -1,14 +0,0 @@
1
- import assert from 'node:assert';
2
- export class ContextHandler {
3
- static getContextCallback;
4
- static runInContextCallback;
5
- static getContext() {
6
- assert(this.getContextCallback, 'getContextCallback not set');
7
- return this.getContextCallback ? this.getContextCallback() : undefined;
8
- }
9
- static run(context, fn) {
10
- assert(this.runInContextCallback, 'runInContextCallback not set');
11
- return this.runInContextCallback(context, fn);
12
- }
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDb250ZXh0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFLakMsTUFBTSxPQUFPLGNBQWM7SUFDekIsTUFBTSxDQUFDLGtCQUFrQixDQUFzQztJQUMvRCxNQUFNLENBQUMsb0JBQW9CLENBQXVCO0lBRWxELE1BQU0sQ0FBQyxVQUFVO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBQzlELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxDQUFVLE9BQTBCLEVBQUUsRUFBb0I7UUFDbEUsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBQ0YifQ==
@@ -1,3 +0,0 @@
1
- import type { EggRuntimeContext, EggContextLifecycleContext } from '@eggjs/tegg-types';
2
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
3
- export declare const EggContextLifecycleUtil: LifecycleUtil<EggContextLifecycleContext, EggRuntimeContext>;
@@ -1,3 +0,0 @@
1
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
- export const EggContextLifecycleUtil = new LifecycleUtil();
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkVnZ0NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksYUFBYSxFQUFpRCxDQUFDIn0=
@@ -1,3 +0,0 @@
1
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
- import type { EggObject, EggObjectLifeCycleContext } from '@eggjs/tegg-types';
3
- export declare const EggObjectLifecycleUtil: LifecycleUtil<EggObjectLifeCycleContext, EggObject>;
@@ -1,3 +0,0 @@
1
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
- export const EggObjectLifecycleUtil = new LifecycleUtil();
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnT2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiRWdnT2JqZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGFBQWEsRUFBd0MsQ0FBQyJ9
@@ -1,3 +0,0 @@
1
- import type { LoadUnitInstance, LoadUnitInstanceLifecycleContext } from '@eggjs/tegg-types';
2
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
3
- export declare const LoadUnitInstanceLifecycleUtil: LifecycleUtil<LoadUnitInstanceLifecycleContext, LoadUnitInstance>;
@@ -1,3 +0,0 @@
1
- import { LifecycleUtil } from '@eggjs/tegg-lifecycle';
2
- export const LoadUnitInstanceLifecycleUtil = new LifecycleUtil();
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkxvYWRVbml0SW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksYUFBYSxFQUFzRCxDQUFDIn0=
@@ -1,5 +0,0 @@
1
- export * from './AbstractEggContext.js';
2
- export * from './ContextHandler.js';
3
- export * from './EggContext.js';
4
- export * from './EggObject.js';
5
- export * from './LoadUnitInstance.js';
@@ -1,6 +0,0 @@
1
- export * from './AbstractEggContext.js';
2
- export * from './ContextHandler.js';
3
- export * from './EggContext.js';
4
- export * from './EggObject.js';
5
- export * from './LoadUnitInstance.js';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUMifQ==